PDF.js
PDF.jsはウェブサイトやウェブブラウザの一部として機能する。 元々はFirefoxの拡張機能(英語版)として作成されたが、000000002012-01-01-00002012年からMozilla Firefoxに内蔵されるようになり、000000002013-01-01-00002013年からはデフォルトで有効になっている。 また、ownCloud及びNextcloudにも内蔵されており、Google Chrome、Chromium、Firefox for Android、Pale Moon及びSeaMonkey向けにブラウザ拡張機能として提供されている。
開発者はウェブやネイティブアプリケーションでのPDFの描画及び表示や、サーバでの描画のためにPDF.jsを埋め込んでいる。 DropboxはPDF文書のプレビューのためにPDF.jsを統合しており、SlackやLinkedInでは、講座の資料をオンラインで容易に表示できるようにPDF.jsを統合している。 一部のソフトウェア開発製品は、PDF.jsの拡張を容易にすることに基づいている。
あるベンチマークによると、PDF.jsは殆どの一般的なPDFファイルを表示するのに適しているが、大きな文書や画像の多い文書では問題が発生する可能性がある。 別の分析では、特定の文書サブセットを含むPDFの内、1 - 3%がファイルの破損又はファイルが複雑であることを原因として、PDF.jsをクラッシュ又はフリーズさせることが判明している。
PDF.jsはPDFの仕様の殆どをサポートしているが、一部の機能は未実装なので、文書が使用する機能によっては描画動作に影響を与える可能性がある。
PDF.jsに未実装又は不完全なPDFの機能:
オプション内容グループ (OCG)
ICCプロファイル
特色
オーバープリントのシミュレーション
透明度グループ (ノックアウト/隔離)
幾つかのパターン及びシェーディング
忠実度の高い印刷
対話的で記入可能なフォーム
PDF.jsの貢献者のコミュニティは、PDF.jsのウェブブラウザ上での動作は、PDF.jsに必要な機能のウェブブラウザでのサポート状況によって異なることにも言及している。 性能と信頼性は、完全にサポートされ、自動テストの対象となっているFirefox及びChromeで最高となる。