PDFリーダー

PDFファイルを選ぶと、すぐにページをめくって読めます。拡大縮小、ページ移動、テキストの読み上げまで、すべてブラウザ内で処理されます。

選んだPDFはどのサーバーにも送信されず、このブラウザの中だけで開かれます。

このツールの用途

PDFを開くソフトがない共有パソコンや、添付ファイルの扱いが不便なスマートフォンのブラウザで、PDFを手早く確認したいときの軽量なビューアです。 ページ送り、拡大縮小、表示中ページのテキストのコピー、そのテキストの読み上げができます。注釈、ハイライト、フォーム入力、署名、文書全体の検索、編集は行えません。読むことに専念した、閲覧専用のツールです。

ファイルの処理場所

ファイルを選ぶと、コードはfile.arrayBuffer()でバイト列を読み、MozillaのオープンソースライブラリPDF.js(pdfjs-dist、このプロジェクトでは6.3.289)に渡します。 解析と描画はPDF.jsが担当し、そのワーカーもブラウザ内で動きます。ライブラリ本体とワーカーのファイルは、このサイトがページと一緒に配信しており、外部のCDNから取得してはいません。 PDFをネットワークに送るコードはないため、アップロードも保存もされず、再読み込みやタブを閉じればメモリからも消えます。ファイルを開くあいだに開発者ツールの「ネットワーク」タブを見れば、確認できます。 サイト全体で使われる広告や解析のスクリプトは別に動作し、文書の内容は渡されません。

拡大・縮小の仕組み

初期の倍率はPDF本来のサイズ(1ポイント=1ピクセル)の1.2倍で、画面上では100%と表示されます。拡大・縮小ボタンを押すたびに倍率が0.24ずつ変わり、0.6倍(50%)から3.6倍(300%)の範囲で動きます。 下の表は、縦向きのA4(595.28 × 841.89ポイント)を想定し、同じ定数でサイト公開時に計算した各段階のキャンバスサイズと、1ピクセル4バイトとして見積もった必要メモリです。

表示倍率内部倍率A4キャンバス(px)メモリ(MB)
50%×0.60357 × 5050.7
60%×0.72429 × 6061.0
80%×0.96571 × 8081.8
100%×1.20714 × 10102.8
120%×1.44857 × 12124.0
140%×1.681000 × 14145.4
160%×1.921143 × 16167.0
180%×2.161286 × 18188.9
200%×2.401429 × 202111.0
220%×2.641572 × 222313.3
240%×2.881714 × 242515.9
260%×3.121857 × 262718.6
280%×3.362000 × 282921.6
300%×3.602143 × 303124.8

100%ではA4が約714 × 1010ピクセルで描かれ、300%では約2143 × 3031ピクセル(約24.8MB)まで大きくなります。スマートフォンや古いパソコンでは、大きい倍率で描画が遅くなったり失敗したりすることがあります。 高解像度ディスプレイ向けの補正は行わないため、そうした画面では100%の文字がやや柔らかく見えることがありますが、一段階拡大すると鮮明になります。ページは表示枠の中に置かれ、拡大したページは枠内のスクロールで移動します。

計算例

テキストのコピーと読み上げ

ページを描画したあと、コードはPDF.jsからそのページの文字の断片を受け取り、空白でつないで連続する空白を1つにまとめます。そのため、コピーされる文章はPDFが内部に保存している順序になり、画面で読む順序と一致するとは限りません。 表や2段組みは文が入り混じることがあり、元の改行も失われます。日本語の文書では、断片の境目に空白が入る場合があるので、貼り付けた後に整えてください。 読み上げは、同じテキストをブラウザ内蔵の音声合成に、0.95倍の速さで渡します。声や言語はブラウザと端末に入っているものに依存し、文書の言語に合わせた指定は行わないため、既定の声が対応しない言語のページは不自然に聞こえることがあります。 ページを切り替えると読み上げは止まり、停止ボタンですぐ止めることもできます。音声合成に対応しないブラウザでは、2つの読み上げボタンは表示されません。

向かないケース

読んだあとにできること

必要なページだけを別のファイルにしたいときは、PDF結合・分割でページ範囲を抽出できます。コピーした文章の長さを知りたければ文字数カウントに貼り付け、 2つの版の違いを見るにはテキスト差分チェッカーが便利です。

よくある質問

選んだPDFは保存されますか?

いいえ。ブラウザのメモリ上でだけ開かれ、アップロードも保存もされません。再読み込みすると文書も消えます。

パスワード付きのPDFも開けますか?

現時点では開けません。パスワードを入力する場所がないためです。パスワードを知っている場合は、別のソフトで保護を外したコピーを保存してから使ってください(許可されている場合に限ります)。

ページによって読み上げやコピーができないのはなぜですか?

紙をスキャンして画像として保存したPDFは、ページが画像でできていて文字データを含みません。画面には表示されますが、コピーも読み上げもできず、テキスト欄にその旨が表示されます。

文書全体のテキストを一度にコピーできますか?

いいえ。コピーされるのは表示中のページだけです。次のページに移動して、続けてコピーしてください。

読み上げボタンが出ない、または音が出ません。

ブラウザが音声合成に対応していないと、読み上げボタンは非表示になります。対応していても、その言語の音声が端末に入っていない、または消音の状態だと、音が出ないことがあります。