web-dev-qa-db-ja.com

Pythonを使用してPDFの特定の領域からテキストを抽出する方法は?

Pythonを使用してPDFからテキストを抽出しようとしていますが、次のようにPyPDF2を使用して正常に抽出できました。

import PyPDF2
pdfFileObj = open('path', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
pageObj.extractText()

これにより、ページからすべてのテキストが抽出されますが、ページの左上部分にある3'x4 'の長方形の領域からのみテキストを抽出したいと思います。

私は基本的に次のようなことをしたいです: 特定の長方形の領域内のPDFドキュメントからテキストを抽出する方法? しかしPythonで

これは、PyPDF2または他のPythonライブラリで実行できますか?

6

これはかなり複雑なトピックですが、可能です。まず、PDF形式の説明に精通する必要があります。

開始 ここ たとえば。

テキストボックスの場所と内容を識別し、文字列データを抽出できます。

This トピックには、以前のバージョンのPyPDF2であるpyPdfの例が含まれていますが、構文は似ています。間接オブジェクトを反復処理する方法の例があります。

開始するのに適した場所は、使用した関数 pageObj.extractText() のソースでもあります。

Pythonに制限されていない場合: PDFからテキストを抽出する方法は?

iText RUPS のようなツールを使用してPDFを検査することもできます。これは、コンテンツがどのようにレンダリングされ、ページに配置されるかを示しています。

enter image description here

その後、要素を識別して対処し、それらのコンテンツを抽出できるようになります。

3
Joe