PDF を OCR すると、認識されたテキストが PDF エディター内のテキスト ボックスに表示されます。読めますよ。コピーして貼り付けることができます。しかし、実際に必要なのは、ハッシュとして書式設定された見出し、アスタリスクとしてのリスト、括弧と括弧のペアとしてのリンク、および空白行で区切られた段落を含む Markdown ファイル内のテキストです。 Markdown は、開発者、テクニカル ライター、ブロガーをはじめ、静的サイト ジェネレーター、メモ作成アプリ、コード リポジトリにドロップできるクリーンでポータブルなテキストを必要とするすべての人にとっての共通言語です。
スキャンされた PDF から Markdown ファイルへの変換は 2 段階のパイプラインです。OCR がテキストを認識し、次に書式設定ステップがその認識されたテキストを Markdown 構文に変換します。各ステップには、最終出力の品質に影響を与えるツールの選択肢があります。

ステップ 1: PDF を OCR して認識されたテキストを抽出する
OCR 手順は、PDF を検索可能にする手順と同じです。 OCR PDF ツールを使用して、スキャンしたページを処理します。このツールは各ページにテキスト レイヤーを追加します。 Markdown エクスポートの場合、どのテキストが見出しで、どのテキストが本文で、どのテキストがリストまたはテーブルの一部であるかなど、構造情報をできるだけ保持する形式で OCR 出力が必要です。標準の OCR エンジンはプレーン テキストを出力するため、すべての構造情報が失われます。見出しと本文の段落は、改行で区切られた区別できないテキストのブロックになります。
最良の結果を得るには、レイアウトを認識したテキスト抽出をサポートする OCR エンジンを使用してください。これらのエンジンは、ページ上のテキストの空間配置を分析し、フォント サイズ、位置、他の要素との近さに基づいて見出し、本文、キャプション、脚注を区別できます。 OCR エンジンがキャプチャする構造情報が多いほど、Markdown 変換はよりクリーンになります。 Adobe Acrobat Pro のエクスポート機能には、「書式設定されたテキスト」が含まれています。いくつかの構造上の手がかりを保存するオプション。 OCR エンジンは、下流の変換ツールが見出しレベルと段落区切りを推測するために使用できるフォント サイズと位置のメタデータを保存します。
PDF OCRを試してみる
インストールは必要ありません。ブラウザで直接動作します。
ステップ 2: 認識されたテキストをマークダウンに変換する
PDF にテキスト レイヤーが含まれると、Markdown への変換はいくつかのパスを介して進めることができます。最も単純な方法は、出力形式として Markdown をサポートする PDF エディターから直接エクスポートすることです。 WukongPDF のエクスポート オプションには、PDF が OCR 処理されたときのターゲット形式として Markdown が含まれます。出力形式として Markdown を選択すると、ツールは Markdown 規則に従ってフォーマットされた認識されたテキストを含む .md ファイルを生成します。大きなフォントで始まる行はハッシュ接頭辞の付いた見出しになり、インデントされた行はリスト項目になり、通常の段落は空白行で区切られます。
Markdown の直接エクスポートが利用できない場合のパイプラインは、認識されたテキストを RTF や HTML などの書式を保持するリッチ テキスト形式にエクスポートし、変換ツールを使用してその中間形式を Markdown に変換することです。ユニバーサル ドキュメント コンバーターである Pandoc は、このパイプラインを適切に処理します。 PDF からテキストを HTML としてエクスポートし、pandoc input.html -f html -t markdown -o Output.md を実行します。 Pandoc は、HTML 見出しタグを Markdown ハッシュに、HTML リスト タグを Markdown リスト マーカーに、HTML リンク タグを Markdown リンク構文に変換します。出力の品質は、PDF からエクスポートされる HTML の品質によって異なります。 PDF エクスポートによってクリーンで適切に構造化された HTML が生成される場合、Pandoc はクリーンな Markdown を生成します。エクスポートによってインライン スタイルと非セマンティック タグを含む乱雑な HTML が生成される場合、マークダウンもそれに応じて乱雑になります。
マークダウン出力の OCR エラーのクリーンアップ
認識されたテキスト内の OCR エラーは、変更されずに Markdown 出力に渡されます。一般的なエラーには、「cl」などの混同された文字が含まれます。 「d」として認識されます。 「ん」 「m、」として認識されます。そして「1」 「l」として認識されます。特にフォント サイズが小さい場合やスキャン品質が低い場合に顕著です。テキストを公開または共有する場合は、Markdown ファイルをレビューしてこれらのエラーを検出することが不可欠です。
ほとんどのコード エディターとマークダウン エディターには、認識できない単語を強調表示するスペル チェック機能が含まれているため、OCR エラーを簡単に見つけることができます。強調表示された単語を調べて、元の PDF と照らし合わせて修正します。固有名詞、専門用語、数字には特に注意してください。これらは誤って認識される可能性が最も高く、誤って公開された場合の損害も最も大きくなります。 OCR が「123,000 ドル」を認識した財務報告書「$128,000」としてどちらも有効な数値形式であるため、自動スペルチェックでは検出できない重大なエラーが含まれています。重要な値をソース文書に対して手動で検証することが、唯一信頼できる安全策です。
マークダウン変換における画像とテーブルの保持
Markdown は、外部ファイル  を参照して画像を処理します。 PDF を Markdown に変換する場合、PDF 内の画像を抽出して別のファイルとして保存し、参照リンクを Markdown テキストの正しい位置に挿入する必要があります。 WukongPDF の PDF Export の Markdown への変換には、変換の一部として画像抽出が含まれています。 PDF 内の各画像は PNG または JPEG ファイルとしてマークダウン ファイルと一緒にフォルダーに保存され、マークダウン テキストには適切な画像参照タグが含まれます。
テーブルはさらに困難です。マークダウン テーブルは、人間には読みやすいパイプアンドダッシュ構文を使用しますが、PDF はテーブルを構造化データとして保存しないため、自動コンバーターが PDF テーブル データから生成するのは困難です。文字を位置に格納します。コンバーターは文字の位置からテーブル グリッドをリバース エンジニアリングする必要があるため、結合されたセル、複数行のセル コンテンツ、または不均等な列幅を含む複雑なテーブルでは不完全な結果が生成されます。均一な列と単一行のセル内容を含むシンプルなグリッド テーブルは、確実に変換されます。複雑なテーブルの場合、Markdown 出力で手動で再構築する必要がある場合があります。テーブルの変換がうまくいかない場合は、Markdown テーブル構文としてではなく、別のイメージとしてエクスポートすることを検討してください。整列されていない列として表示される文字化けした Markdown よりも、複雑なテーブルのきれいに読み取れる画像の方が便利です。
Markdown ファイルの使用
結果の Markdown ファイルは、任意のテキスト エディター、Obsidian や Notion などのメモ作成アプリ、Hugo や Jekyll などの静的サイト ジェネレーター、または VS Code などのコード エディターで開きます。 Markdown からは、Web サイト用の HTML、配布用の PDF、Word 処理用の DOCX を生成したり、検索可能でバージョン管理可能なプレーン テキスト形式でテキストを保存したりして、何十年も読み続けることができます。
このパイプラインの価値は、アーカイブ資料で最も明らかです。スキャンされた古いレポート、歴史的文書、絶版出版物はすべて、検索できるだけでなく変換可能になります。 2005 年にスキャンされたレポートは Markdown ファイルになり、最新のエディタで編集したり、Web サイトに変換したり、ブログ投稿で引用したり、プログラムで分析したりできます。画像内のテキストを 20 年間ロックしていた PDF 形式 により、コンテンツの使用方法が制限されなくなりました。
PDF OCRを試してみる
インストールは必要ありません。ブラウザで直接動作します。
