PDF.jsの分割リクエスト設定
PDF.jsを使ったサンプルの作成と確認
github
PDF.js
- FireFoxではデフォルトで使用されているjsライブラリ。
- ライブラリの中でpdfデータを変換してcanvasで表示してくれる。
- デフォルトの設定では、最初にPDF情報を取得して、その後は1ページ単位にリクエストを投げてデータを取得している。
- PDFで使用されるフォントも必要なタイミングで動的に取得して使用している。
- HTTPステータスコードは200と206以外をエラーとしてハンドリングしている。
- FireFox以外のブラウザを使用する場合には、compatibility.jsをインクルードする。
確認内容
1ページ単位にデータを取得している部分を1リクエストにできるか確認。
フォントファイルの読込タイミングと設定値の確認
HTTPサーバによって、リクエストの投げ方が変わることを確認
エラーハンドリング
- node.jsでレスポンスを返しているところで、200としている部分を404や500などにしてサーバ再起動。
- PDFJS.getDocument(url) にエラー時の関数を指定することで、エラーオブジェクトを取得することが可能。
- 取得したエラーオブジェクトからHTTPステータスコードを取得してハンドリングするような実装にする。
参考サイト
GitHub - mozilla/pdf.js: PDF Reader in JavaScript
pdf.jsを使いブラウザで見られるPDFスライド表示ツールを作った | Web Scratch
How to catch promise runtime Javascript errors? - Stack Overflow