開発者および検索エンジニア
サーバー側での抽出処理なしに、PDFコンテンツをElasticsearch、Solr、またはベクターデータベースに取り込むことができます。ストリームモードでは、トークン化とインデックス作成に適した、クリーンで空白文字が正規化されたテキストが生成されます。
PDFは至る所にありますが、それはコンテナであってテキストではありません。法的文書をgrepで検索したり、ドキュメントの内容を機械学習パイプラインに入力したり、研究論文をElasticsearchにインデックス化したり、改行を手動で修正せずに引用文を貼り付けたりする必要がある場合は、プレーンテキストが必要です。PDFビューアからコピー&ペーストすると、列の配置が崩れたり、不要なハイフンが挿入されたり、複数列のレイアウトが意味不明な状態になってしまいます。専用のPDF-テキストコンバーターを使えば、これらの問題をすべて一度に解決できます。
LuraPDFのテキスト抽出ツールは、Firefoxの組み込みPDFビューアと同じライブラリであるPDF.jsを使用して、ブラウザ上で完全に動作します。アップロードも処理キューも、サーバー層によるサイズ制限もありません。抽出モードは、人間が読みやすいレイアウト形式と、パイプライン処理に適したストリーム形式の2種類が用意されており、さらに3種類のエンコーディングとオプションのページ区切りマーカーを選択できます。結果は.txtファイルとして即座にダウンロードされ、任意のエディタで開いたり、pandasにインポートしたり、任意のコマンドラインツールにパイプで渡したりできます。
ソフトウェアエンジニアが検索エンジンにドキュメントを取り込む場合から、学生が論文のために引用文を抽出する場合まで、プレーンテキスト抽出は、あらゆる下流ワークフローにおいてPDFコンテンツへのアクセスを可能にします。
サーバー側での抽出処理なしに、PDFコンテンツをElasticsearch、Solr、またはベクターデータベースに取り込むことができます。ストリームモードでは、トークン化とインデックス作成に適した、クリーンで空白文字が正規化されたテキストが生成されます。
学術論文、技術報告書、政府文書から自然言語処理(NLP)コーパスを構築します。各論文をバッチ処理で.txtファイルにエクスポートし、pandasまたはNLTKを使用してフォルダに読み込み、前処理を行います。
情報公開法に基づく情報開示や流出文書は、多くの場合PDFファイルとして届きます。それらを.txtファイルに変換し、grepやDatashareを使って数百ものファイルを数分で検索すれば、機密情報をアップロードすることなく作業を完了できます。
裁判所の証拠書類、契約書、および証拠開示文書からテキストを抽出し、キーワード検索や特権の確認に利用できます。機密性の高い資料を第三者のサーバーにアップロードする必要はありません。
研究論文や教科書から正確な引用を、改行の乱れに悩まされることなくコピーできます。レイアウトモードでは、脚注や引用文献が読みやすいように十分な構造が維持されます。
PDFレポートから表形式のデータを抽出して.txtファイルに書き出し、pandas、AWK、または任意のスクリプト言語で解析します。PDFからExcelへの変換機能と組み合わせることで、構造化された表を抽出できます。
ローカルで処理することで、処理速度が向上し、プライバシーリスクがゼロになり、サーバーによる処理制限、ログ記録、ファイル消失などのリスクから解放されます。
LuraPDFはPDF.jsのgetTextContent() APIを使用します。このAPIは各ページのコンテンツストリームを解析し、Unicode文字列、フォントメトリクス、ページ上のx/y座標を含むテキストアイテムの配列を返します。レイアウトモードでは、抽出器はアイテムを垂直方向の位置でグループ化して行にまとめ、各行を左から右に並べ替え、グリフ間の間隔に比例したスペースを挿入します。これにより、列やインデントされたリストのおおよその視覚的なレイアウトが再構築されます。ストリームモードでは、アイテムは空間的な並べ替えなしでコンテンツストリームの順序で書き出され、トークナイザーが好むコンパクトな段落が生成されます。
テキストが組み立てられると、ブラウザのTextEncoder APIを使用して選択された文字セットにエンコードされ、Blobに書き込まれます。ダウンロードは、一時オブジェクトのURLによってトリガーされます。データはブラウザタブから外部に送信されることはありません。ページ区切りマーカーが有効になっている場合、各ページのテキストブロック間に改ページ文字が挿入されるため、プログラムによるページ分割が容易になります。このプロセス全体はページごとに同期的に実行され、ほとんどのドキュメントで1秒以内に完了します。
| 特徴 | LuraPDF | Smallpdf | Adobe Acrobat |
|---|---|---|---|
| ブラウザのみ / アップロード不可 | はい | いいえ | いいえ |
| レイアウトとストリームモード | はい | 部分的 | はい |
| UTF-8 / UTF-16 / ASCII | はい | UTF-8のみ | はい |
| 無料、ファイル数制限なし | はい | 1日2回無料 | 有料 |
抽出前後のいくつかの判断によって、きれいなテキストになるか、断片的なテキストが乱雑に並ぶかが決まる。
PDFが選択可能なテキストを含まないスキャン画像の場合は、まずOCR PDFを実行してください。そうしないと、抽出時に空のファイルが返されます。
機械学習パイプラインにはストリームモードを、人間が読み取ったり編集したりする出力にはレイアウトモードを使用してください。
ターゲットツールが明示的にASCIIまたはUTF-16を要求する場合を除き、UTF-8を使用してください。UTF-8は普遍的に安全な選択肢です。
スクリプト内で出力をページごとに分割する場合は、ページ区切りマーカーを有効にしてください。手動での解析手順が不要になります。
エクスポート後に、シンプルな正規表現を使用して繰り返し出現するヘッダーとフッターを削除します。ヘッダーテキストに一致させ、出現する箇所をすべて削除します。
非常に大きなPDFファイルの場合は、ブラウザの動作を維持するためにページ範囲ごとに処理し、必要に応じて章を個別に抽出してください。
読みやすいレイアウト整列テキストが必要な場合でも、パイプライン用のストリームモード出力が必要な場合でも、LuraPDFはサーバーにアクセスすることなく数秒で抽出します。デフォルトはUTF-8、ページ区切りはオンデマンド、サインアップ不要、ウォーターマークなし。PDFファイルをドロップするだけで、クリーンな.txtファイルをダウンロードできます。