スキャン PDF を Markdown に

スキャン、撮影したページ、画像だけの PDF を、このタブの中で OCR にかけて読み取ります。ページは端末から出ず、OCR が自信を持てなかった行も教えてくれます。

ここに PDF をドロップ

貼り付けやファイル選択でも追加できます。一度に 20 件まで、このタブの中で変換します。

手元にファイルがなければ、こちらで試せます:

ファイルはこのブラウザタブの中で読み込まれ、アップロードされることはありません。

OCR の仕組み

スキャンした PDF に入っているのはページの画像で、文字のデータではありません。Markdown を取り出すには、文字認識モデルで画像を 1 枚ずつ読む必要があります。多くのサイトではファイルをサーバーにアップロードしますが、ここではモデルのほうがあなたの端末に来ます。

  1. 変換ツールが全ページを調べます。 テキスト層があるページはそのまま読むので、速くて正確です。テキスト層がないページや、文字に対応しない記号でできたテキスト層のページは OCR に回します。
  2. ページを画像として描画します。 タブの中で、小さな文字も読める解像度で描きます。
  3. 検出モデルが文字の行を見つけ、認識モデルが 1 行ずつ読みます。どちらも PaddleOCR のモデル(Apache 2.0)で、WebAssembly で動き、ブラウザが許せば複数のスレッドを使います。
  4. 行を読む順序に並べ直します。 段落をつなぎ、行の高さから見出しを推定し、列が揃った行は表として組み立て直します。あとは通常のページと同じように Markdown になります。

最初にスキャンを変換するとき、モデルをダウンロードします。ラテン文字と中国語は約 6 MB、日本語か韓国語は約 20 MB です。その後はキャッシュに残るので、OCR はすぐに始まります。

速さはどのくらい?

最近のノートパソコンなら、モデルの読み込み後、一般的なページで 1 ページ 2〜4 秒です。スマートフォンはもっと遅く、細かい文字がびっしり詰まったページは手紙より時間がかかります。進行状況の行には今どのページを読んでいるかが出て、中止でいつでも止められます。読み終えたページは残るので、もう一度始めると続きから進みます。

スキャンされたページが一部だけなら、OCR にかかるのもそのページだけです。付録の 3 ページだけがスキャンの 200 ページの報告書なら、スキャンがない場合とほとんど変わらない速さで変換できます。

OCR が自信を持てなかったページを確認する

文字認識モデルは優秀ですが、完璧ではありません。すべてを校正させる代わりに、変換ツールは行ごとにモデルの確信度を記録します。しきい値を下回る行があるページは、確認するページに「OCR が自信のない語あり」という印付きで並び、ページの画像と Markdown を見比べられます。

逆の問題もここで直せます。テキスト層が壊れている PDF があります。フォントが間違った文字に対応していて、文章が意味不明になるケースです。そうしたページには文字化けの印が付き、このページを OCR で読むを押せば、そのページだけを画像から読み直します。

モデルの選び方

文書の言語「スキャンページ」で選ぶものダウンロード
英語、スペイン語、フランス語、ドイツ語、ポルトガル語などラテン文字の言語ラテン文字と中国語約 6 MB
中国語(簡体字と繁体字の活字)ラテン文字と中国語約 6 MB
日本語日本語約 21 MB
韓国語韓国語約 18 MB

選んだモデルは次回も使われます。英語と日本語や韓国語が混ざった文書は、日本語や韓国語のモデルで読むのがおすすめです。どのモデルもラテン文字と数字を読めます。

スキャンの精度を上げるには

  • 自分でスキャンするなら 300 dpi で。200 dpi を下回ると、小さな文字が別の文字に崩れやすくなります。
  • まっすぐなページほどよく読めます。 斜めから撮ったページや、本ののどに向かって湾曲したページは、端のほうの語を取りこぼすことがあります。
  • 信用できないテキスト層があるときは、スキャンページですべてのページを選びます。古いスキャナーの OCR が付けたテキスト層などです。変換ツールはそれを無視して、全ページを自分で読みます。
  • スマートフォンで長いスキャンを変換するときは、メモリを節約するためにページ範囲を指定します。

OCR にまだできないこと

  • 手書き文字には対応していません。モデルは活字で学習されています。
  • 詰まった表や傾いた表。 スキャンした表は、列がはっきり揃っていれば Markdown の表になります。列の間隔が狭い表や斜めにスキャンされたページは、テキストの行として出力されることがあります。詳しくは PDF の表を Markdown にへ。
  • 数式は LaTeX ではなく、モデルが見た文字のまま出力されます。
  • 上のモデル以外の言語、たとえばアラビア語、ヘブライ語、キリル文字、ギリシャ語、タイ語、ヒンディー語は OCR の対象外です。ただし、テキスト層がある PDF なら OCR は不要なので、これらの言語でも変換できます。

ブラウザの OCR はプライバシー面で安全?

はい。各ページはこのタブの中で描画され、読み取られます。テキストはコピーかダウンロードするまでタブのメモリに残るだけです。ページの画像も文字も、どこにも送られません。スキャンした契約書や診断書など、アップロードしたくない書類にも使えます。変換中にブラウザの開発者ツールのネットワークパネルを見ても、ファイルや本文を運ぶリクエストはありません。

よくある質問

書類を撮った写真も変換できますか?

まず写真を PDF にしてください。たいていのスマートフォンは、共有メニューからスキャンや写真を PDF として保存できます。その PDF をここにドロップします。画像ファイルそのものにはまだ対応していません。

最初のスキャンだけ時間がかかるのはなぜ?

初回だけ OCR モデルをダウンロードするためです。ブラウザがキャッシュを残している限り、別の日のスキャンでもこの待ち時間はありません。

テキスト層はあるのに、文字が間違っています。どうすれば?

そのテキスト層はスキャナーが付けた OCR の結果で、品質が低いことがあります。スキャンページですべてのページを選んで変換し直すか、おかしなページでこのページを OCR で読むを使ってください。

オフラインでも使えますか?

変換が始まり、モデルがキャッシュにあれば、ネットワークは要りません。途中で接続が切れても処理は続きます。