PDF.jsでPDFを全角表示したいのだ!

ブラウザで、PDFをダウンロードせずに表示ってことで、今回PDF.jsを使用しました。
ところが・・・・この資料が、また少ない(^^;
とくに、せっかく表示したとしたのに、全角が表示されない。。。
正確に表現すると、表示するときと表示しないときが。。。。

表示しない時の状態をChromeのデベロッパーツールで見ると”Adobe-Japan1-UCS2.bcmapが見つからない”とのメッセージが。。
これを頼りに検索をしてみると、”cmapsの設定が必要”とのことが。。
なんか、PDF.jsを使うとき必ず引っかかることらしい。。。なんじゃそりゃ(^^;
ってことで設定をしてみました。

■cmaps環境を設定しましょう

ダウンロードはこちらから

ダウンロードしたzipファイルを展開するとこんな感じに展開されます。

この中のcmapsをpdf.jsが配置されているディレクトリにコピーします。
この例ではbuildディレクトリ配下ですね。。
それをこんな感じに呼び出します(今回の環境では、DocRoot/pdfjs-dist/build/pdf.jsって配置しています)。
※今回はBase64でデータを取ってきて表示をするため、dataに変数を設定しています。

cMapUrlとcMapPackedを設定してください。
なんてことは、ドキュメントでは出会いませんでした。。。
どっかにあるのかもしれませんが。。。

■ここでハマったことが。。。

サンプルでmozillaからのCDN設定で書かれています。
<script src=”//mozilla.github.io/pdf.js/build/pdf.js”></script>
pdfjsLib.GlobalWorkerOptions.workerSrc = ‘//mozilla.github.io/pdf.js/build/pdf.worker.js’;
最初はこの設定でやっていました。
ところが、/cmaps/をどこに配置をしてもフォントを認識してくれませんでした。
で、pdf.jsをサーバーにインストールしたら、即認識してくれました。。はぁ。。。

■あとがき。。。

まぁなんというか、アッチャコッチャ調べ倒しました。
“フォント使うにはcMapUrlとcMapPackedを書くんだよ”ッテ記載はあるんですが、んじゃ具体的にはどう書くのか書かれていないってのが多かった印象です(^^;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です