PDF No Save HTMLモード・FAQ:Androidブラウザのサポートについて


  1. PDF No Save・HTMLモードは、Androidブラウザをサポートしていますか?
  2. Androidブラウザで文字化けします。
  3. Androidブラウザで、テキストの一部や画像の一部が表示されません。
  4. Androidブラウザで、表示がおかしくなります。
  5. Androidブラウザでは、フォームがサポートされていません。
  6. Androidブラウザでは、Acrobat® JavaScriptがサポートされていません。
  7. オープンソースのクレジットを削除しても良いですか?
  8. PDFファイル内の検索はできないのですか?
  9. 1ページずつは移動できますが、たとえば15ページに直接ジャンプしたい時に、ページの欄に15を入力したいのですが、入力できません。
  10. AJモードを併用する場合、AJモードの設定は注意することはありますか?
  11. Androidブラウザでは、256bit暗号化PDFファイルが表示できません。
  12. 印刷を許可する設定にしているのですが、Androidブラウザでうまく印刷できません。
  13. 印刷を禁止する設定にしているのですが、Androidブラウザで印刷できてしまいます。
  14. カスタマイズしたいのですが・・・。
  15. AndroidブラウザでPDFファイルが表示されるのが(ロードされるのが)、非常に遅いです。スクロールするたびに読み込んでいるようです。
  16. Android携帯・タブレットを持っていません。そのため、Androidブラウザでどのように表示されているか分かりません。動作確認をするために、何か良い方法はありませんか?
  17. pdf.jsのファイルサイズが1MB超で巨大すぎます。転送量が心配です。
  18. 縦スクロールできない場合があります。
  19. 横スクロールがうまくできない場合があります。
  20. Androidブラウザでうまく表示されないのですが、これがpdf.jsの問題であるのか、PDF No Saveの問題であるのかを知る方法はありますか?
  21. PrintScreenキー対策できますか?

1.PDF No Save・HTMLモードは、Androidブラウザをサポートしていますか?
バージョン、2.49d以降で、α版としてサポートしています。オープンソース・プロジェクトのpdf.js(HTML5とJavaScriptによってPDFファイルをパース・表示しています。)を利用しています。したがって、Adobe Readerでの閲覧ではないです。

α版ですので、完成度はまだまだです。あくまでも試験的なサポートです。

2.Androidブラウザで文字化けします。
オープンソース・プロジェクトのpdf.jsは非常に優れたプログラムですが、日本語などの表示で一部問題が発生する場合があります。必ず、公開前にAndroid端末・実機でご確認いただくようにお願いします。

問題が発生する場合、Mac版Firefoxではどのような表示になるかご確認ください。Mac版Firefoxでも問題が発生する場合は、弊社で直接修正できる問題ではないはずですが、弊社サポートに御相談いただければ、サポートの方からMozilla社の方に代理でバグ報告させていただくことは可能な場合もあるかもしれません。

Mac版Firefoxでは問題が発生しておらず、Androidブラウザでのみ問題が発生している場合は、弊社からMozilla社に報告しても問題が解決される可能性は極めて低いです。Android端末は、pdf.jsのサポート対象外の環境であるためです。

3.Androidブラウザで、テキストの一部や画像の一部が表示されません。
オープンソース・プロジェクトのpdf.jsは非常に優れたプログラムですが、日本語などの表示で一部問題が発生する場合があります。必ず、公開前にAndroid端末・実機でご確認いただくようにお願いします。画像が表示されない場合、リロードするとうまく表示される場合があることを弊社でも確認済みです。何らかの事情(メモリー不足など?)でエラーが発生して、レンダリングがストップしているようです。

問題が発生する場合、Mac版Firefoxではどのような表示になるかご確認ください。Mac版Firefoxでも問題が発生する場合は、弊社で直接修正できる問題ではないはずですが、弊社サポートに御相談いただければ、サポートの方からMozilla社の方に代理でバグ報告させていただくことは可能な場合もあるかもしれません。

Mac版Firefoxでは問題が発生しておらず、Androidブラウザでのみ問題が発生している場合は、弊社からMozilla社に報告しても問題が解決される可能性は極めて低いです。Android端末は、pdf.jsのサポート対象外の環境であるためです。

また、テキストが表示されない場合、一般的でないフォントをご利用であるにもかかわらず、PDFファイルに埋め込まれていないなどフォント関連の不具合が考えられますので、PDFファイルの作成方法で問題が修復されるかをお確かめていただくと良いかもしれません。

4.Androidブラウザで、表示がおかしくなります。
オープンソース・プロジェクトのpdf.jsは非常に優れたプログラムですが、前項の文字化けやテキストの一部が表示されない問題以外に下記のような問題が発生する場合があります。
  • 文字の間隔が理想的でないケース。特に括弧(「」()など)の前後のスペースがおかしくなっているケース、詰まり過ぎて後続の文字と重なっているケースなどが稀にあります。

  • 見出し部分などが二重になって影のようになって汚くなっているケース・・・この事例は結構あります。広いWEB全体から考えて、20〜40ファイルのうち一つぐらいあるかもしれません。

  • 縦書きのテキストがおかしくなりるケース。・・・横書きの文書の一部に縦書きのテキストが少しだけ混じっている場合、その縦書きのテキストの配置は大いに乱れます。


5.Androidブラウザでは、フォームがサポートされていません。
PDF No Save・HTMLモードでは、Androidブラウザのサポートのために、オープンソース・プロジェクトのpdf.js(HTML5とJavaScriptによってPDFファイルをパース・表示しています。)を利用していますが、pdf.jsの現状(2013年8月23日現在)の仕様です。

  


6.Androidブラウザでは、Acrobat® JavaScriptがサポートされていません。
PDF No Save・HTMLモードでは、Androidブラウザのサポートのために、オープンソース・プロジェクトのpdf.js(HTML5とJavaScriptによってPDFファイルをパース・表示しています。)を利用していますが、pdf.jsの(2013年8月23日現在)の仕様です。

  


7.オープンソースのクレジットを削除しても良いですか?
pdf.jsなどのJSファイルやCSSファイル・HTMLファイルに埋め込まれた、下記のようなクレジット表示を、絶対に削除しないでください。ライセンス違反になります。


  


8.PDFファイル内の検索はできないのですか?
現在のところ、検索できません。保存対策上の仕様です。

  


9.1ページずつは移動できますが、たとえば15ページに直接ジャンプしたい時に、ページの欄に15を入力したいのですが、入力できません。
現在のところ、保存対策上の仕様です。1ページずつめくっていただくか、Android版Firefoxの場合、ナビゲーションパネルのサムネイルをクリックして、15ページにすばやくアクセスするようにしてください。(Android版Firefoxでナビゲーションパネルを表示するためには、HTMLモードのAndroidブラウザに関する設定をデフォルトから変えていただく必要があります。)

  


10. AJモードを併用する場合、AJモードの設定は注意することはありますか?
Androidブラウザ(あるいは、Mac版Firefox、Google Chrome内蔵のChrome PDF Viewer、Mac・Safari内蔵のPDFビューア、iPhone/iPadのSafari内蔵のPDFビューア)での閲覧を許可するためには、AJモードでは基本的に、「保存対策の強化機能」を利用できなくなります。

超上級者用テクニックとして、HTMLモードの有料オプションであるキャッシュ対策もしくはURLコンバーターをご利用いただいた場合、ブラウザを判別することで、IEやWindows版Firefox用のPDFファイル(AJモードのプロテクト機能をフルに利用したPDFファイル)とMac版Firefox用に作成したPDFファイル(「保存対策の強化機能」省いて作成したPDFファイル)の2種類をそれぞれのブラウザに対して表示させることは、技術的には可能です。

(2種類準備するのが面倒な場合には、IE・Windows版Firefox・Google Chrome・Mac版Firefoxのどれでも表示可能なタイプのPDFファイル(プロテクト機能はMac版Firefoxでも問題の発生しない機能のみを利用したPDFファイル。)一つで対策していただくことになりますが、HTMLモードの利用により、そもそも保存されないようにする機能が備わっていますので、一般的なユーザーを想定している限り、特に大きな問題はありません。2種類準備していただくことや、キャッシュ対策やURLコンバーターを組み合わせていただくことが絶対という訳ではないです。)


  


11.Androidブラウザでは、256bit暗号化PDFファイルが表示できません。
PDF No Save・HTMLモードでは、Androidブラウザのサポートのために、オープンソース・プロジェクトのpdf.js(HTML5とJavaScriptによってPDFファイルをパース・表示しています。)を利用していますが、pdf.jsの現状(2013年8月23日現在)の仕様です。

  


12.印刷を許可する設定にしているのですが、Androidブラウザでうまく印刷できません。
Android端末における印刷可能かどうかは他のさまざまな問題が絡む可能性がありますので、基本的にできないとお考えください。pdf.jsの黒いツールバーのプリンターアイコンからの印刷は弊社テストでは一度も成功したことはありません。(Android端末においては、「window.print();」のJavaScriptが動作しないようです。)

それでも、印刷を許可できるようにチャレンジされたい場合は、少なくとも、HTMLモードのメニューのうち、「詳細設定ウイザード」を御利用ください。詳細設定ウイザードのステップ2にて、Mac版Firefoxに関する設定項目のうち、「印刷を禁止する」のチェックを外してください(Mac版Firefoxに関する設定が、Androidに関する設定を兼ねています)。

その上で、一般にAndroid端末の場合、「共有」というメニューから印刷専用アプリ経由(ブラウザが内部で動作しています。)でwifiで印刷が可能ですので、そちらの方法をトライしてみてください。しかし、HTMLモードをご利用の場合、多くの場合、保存対策の関係でエラーになる(FirefoxもしくはGoogle Chromeでアクセスしてくださいのエラーページに転送される)と思われます。Androidの印刷専用アプリで動作しているブラウザがSafariであるためです。Android(2.1、2.2や2.3、4.0、4.1)のデフォルトブラウザでのアクセスを許可(非推奨)し、これらのOSにおけるFirefoxの共有メニューから印刷する方法でもしかすると印刷できるかもしれませんが、弊社では成功していません。

  


13.印刷を禁止する設定にしているのですが、Androidブラウザで印刷できてしまいます。
pdf.jsは現在のところ、印刷禁止などのセキュリティ設定は2013年8月23日、完全に無視される仕様(バグ?)になっています。そのため、PDF No Saveでは、独自に印刷禁止になるようにプログラムしていますが、以下のレアなパターンで印刷を許可する設定に意図せず、なってしまっている可能性があります。

詳細設定ウイザードのステップ2のpdf.jsに関する設定にて、「印刷を禁止する」のチェックボックスにチェックが入っていないことが考えられます。

  


14.カスタマイズしたいのですが・・・。
出力フォルダー内の「pdfjs」というフォルダー内のファイルに関しましては、pdf.jsのライセンス 「the Apache License, Version 2.0 」に違反しない限りは改変はOKですが、HTMLファイルやJSファイルにつきましては、保存対策のために、弊社にて既にカスタマイズ済みであり、それに影響を与える可能性がありますので、カスタマイズは極めて慎重に行ってください。なお、お客様側でのHTMLファイルやJSファイルの修正が原因と思われる不具合については、弊社ではサポートできません。

pdf.jsのツールバーのアイコンなどをカスタマイズされたい場合は、出力フォルダー内の「/pdfjs/viewer/images/」の中にあります画像を差し替えていただければ、お客様の作成された画像に変わります。

  


15.AndroidブラウザでPDFファイルが表示されるのが(ロードされるのが)、非常に遅いです。スクロールするたびに読み込んでいるようです。
pdf.jsの仕様です。もし、可能であれば、弊社サポートにPDFファイルを送っていただければ、弊社でも検証させていただきます。その際、検証に使われた端末・ブラウザの詳細情報(端末の型名。OSのバージョン。RAM搭載量。解像度。ブラウザ名及びバージョン)をお知らせください。

  


16.Android携帯・タブレットを持っていません。そのため、Androidブラウザでどのように表示されているか分かりません。動作確認をするために、何か良い方法はありませんか?
あくまでも便宜上の方法になりますが、pdf.jsのプロジェクトページに公開のWEBビューアのサンプルが設置されています。これを使うことで簡易動作確認をWindowsでもしていただけます。PDFファイルはローカルに存在しなければなりません。

Mozilla社のWEBビューアのサンプルFirefoxでアクセスして、ツールバーからローカルのPDFファイルを読み込みます(下記画像を参照。赤丸のボタンをクリックすると、ローカルのPDFファイルを読み込めます。サーバにアップロードされるわけではありません)。



ただし、これはあくまでも簡易な確認方法であり、Windows版Firefoxでは正しく表示されても、Androidブラウザでは、フォントがらみの問題・メモリーの問題などなどで正しく表示されないことは十分にありえます。

なお、Windows版Firefoxのリリース安定版に同梱されているpdf.jsは必ずしもバージョンが最新であるとは限りませんので、Mozilla社のWEBビューアのサンプルページで確認されることをお勧めいたします。(逆に、HTMLモードで使用しているpdf.jsのバージョンは、上記WEBビューアで使用されているpdf.jsのバージョンと必ずしも同じではなく、古い場合もあるため、WEBビューアのサンプルではうまく表示されているけれど、HTMLモードで作成したページではおかしく表示されるということはありえますので、その点はお含みおきください。)

  


17.pdf.jsのファイルサイズが1MB超で巨大すぎます。転送量が心配です。
転送量が気になる場合は、お任せ設定ウイザードではなく、詳細設定ウイザードにて、ステップ2で、「pdf.jsを、PHPを使ってgzip圧縮転送する」機能を選択してください。転送量が3分の1程度になります。(PHPが動作しない環境では、当然ながら選択しないでください。)

もし、PHPではなく、他の言語でgzip圧縮転送をされたい場合は、「pdf.jsを、PHPを使ってgzip圧縮転送する」のチェックを外された上で、
  • pdfjs/viewer/viewer.htmlのhead部で、「src="../build/pdf.js?(バージョン番号)"」のようになっているところを、「src="../../getpdfjs.cgi?(バージョン番号)"」など適当なパスに変更してください。
  • pdfjs/viewer/viewer.jsの中の「PDFJS.workerSrc='../build/pdf.js';」の部分のパスを適当なものに変更してください。

  


18.縦スクロールできない場合があります。
次のページの読み込みが終わらないと、いくら指でスクロールしようとしても反応しない場合があります。Androidの2.2など古いOSの場合、メモリが512MBぐらいしかないと、1ページの読み込みが30秒ぐらいかかるような時もあります。もうしばらくしてから、スクロールするようにしてください。

  


19.横スクロールがうまくできない場合があります。
Android2.1、2.2、2.3におけるデフォルトブラウザ(Safari)の場合、拡大ズームを行った後、横スクロールをしようとするとうまくスクロールできない場合があります。その場合は、一旦ズームを解除してから、拡大させたい箇所を再ズームするようにしてください。申し訳ありませんが、現在のところ、仕様です。

  


20.Androidブラウザでうまく表示されないのですが、これがpdf.jsの問題であるのか、PDF No Saveの問題であるのかを知る方法はありますか?
順不同に以下、列挙します。

  • 該当ブラウザで、http://mozilla.github.io/pdf.js/features/にアクセスしてみてください。このページは、pdf.jsで必要とされる機能がサポートされているかをチェックするためのページで、ピンクの行がたくさん表示される場合は動作しません。
  • Android版Firefoxで、Mozilla社のWEBビューアのサンプルページにアクセスして、フォルダーの上に上向きの矢印が描かれているアイコンをクリックして、端末内のPDFファイルを指定してください。


  • Android版Firefoxで、https://addons.mozilla.org/ja/firefox/addon/pdfjs/にアクセスしてアドオン版pdf.jsをインストールして、お客様のPDFファイルにhttp(s)//形式のURLにアクセスして表示がどうなるかご確認ください。(アドオン版pdf.jsは、HTMLモードとは関係の無いものですから、印刷はできますし、保存ボタンも表示されています。)
仮に上記ページなどではうまく表示されるにもかかわらず、PDF No Save・HTMLモードで作成したページにアクセスすると不具合が発生する場合、以下の原因が考えられます。

  • HTMLモードの中で使われているpdf.jsのバージョンが古くなりすぎている可能性。2015年10月29日のバージョン2.77a現在で、バージョン「」がAndroid用としては最新になります。ただし、逆に新しくすると、Androidではかえってロードが遅くなったり不具合が発生するため、敢えてPC版のブラウザ用のpdf.jsより古いバージョンを使っているというのもあります。

  • HTMLモードの保存対策のためのカスタマイズが原因による仕様もしくはバグ

  


21.PrintScreenキー対策できますか?
知っていれば、ごく簡単な方法で、スクリーンショットを保存することができます。PrintScreenキー対策をお考えの場合には、Androidブラウザでは表示されないように(エラーページに転送されるように)していただくことをお勧めいたします。