PDFファイルをすべてのページが画像であり、ページにテキスト、表、または両方の組み合わせを検索可能なPDFに含めることができるファイルを変換するソリューションが必要です。
私はABBY FineReader Onlineを使用しましたが、これは仕事を完璧にやっていますが、Windows Pythonで達成できる解決策を探しています
私は詳細な分析を行いましたが、以下は私が望むものに近いリンクですが、正確ではありません:
Ghostスクリプトを使用して最初にイメージに変換し、その後直接テキストに変換するように指示しています。 tesseractが検索不可PDFを検索可能PDFに変換するとは思わない。
上記のソリューションは、逆に、つまり検索可能から検索不可に変換するのに役立ちます。また、これらはUbuntu/Linux/MacOSでも有効だと思います。
Windows Pythonで検索不可能から検索可能までを達成するためのコードPython
更新1
Asprise Web Ocrで望ましい結果が得られました。以下はリンクとコードです。
https://asprise.com/royalty-free-library/python-ocr-api-overview.html
Windowsでできる解決策を探していますPythonライブラリのみ
更新2
検索不可能なpdfを直接テキストに変換するソリューションを知っています。しかし、私は彼らが検索不可能なPDFを検索可能なPDFに変換する方法を探しています。 PyPDF2を使用してPDFをテキストに変換するコードがあります。
実際、pdf内のすべてをテキストに変換する必要はありません。テキストはテキストのまま、テーブルはテーブルのまま、可能であれば画像はテキストになります。実際にpdfをそのまま読み取り、ブロックで変換を開始するスクリプトが必要です。スクリプトは、ドキュメントが完全に読み取られるまでテキストブロックを書き込み、それをPDFに変換します。何かのようなもの
_if line_is_text():
write_the_line_as_is()
Elif line_is_img():
transform_img_in_text()# comments below code
...
..
.
_
transform_img_in_text()
これは多くの外部ライブラリで実行できると思います。使用できるものは次のとおりです。
このライブラリはpip
からダウンロードできます。手順は上記のリンクに記載されています。
オンラインocr ソリューションが受け入れられる場合、OCR.spaceからの無料のOCR APIも 検索可能なPDFの作成 で、適切に機能します。
無料版では、作成されたPDFに透かしが含まれています。透かしを削除するには、商用PROプランにアップグレードする必要があります。フロントページのWebフォームでAPIをテストできます。
OCR.spaceは、非サブスクリプションオンプレミスオプションとしても利用できますが、価格についてはわかりません。個人的には、無料のocr apiを使用して成功しています。
これを行うために、過去に pypdfocr を使用しました。ただし、最近は更新されていません。
READMEから:
pypdfocr filename.pdf
--> filename_ocr.pdf will be generated
Windowsのインストール手順を注意深くお読みください。
より最近のPythonライブラリはOCRmyPDFです: https://github.com/jbarlow83/OCRmyPDF Windows用のDockerイメージがあります
私は最近ブログ投稿を書きました。
あなたはあなたのニーズを満たすために物事を微調整する必要があるかもしれませんが、私はこの投稿のビルディングブロックがあなたのニーズに適用できると信じています: