PDF ファイルを読み取るプログラムを開発しましたが、それらを読み取るために使用しているツール (PDFminer) がテキストを誤って配置するか、まったく配置しないように見えることに気付きました。出力は非常に明確で正確なようです。間隔と行のジャンプが考慮されるため、出力は元の PDF のように見えます。ただし、いくつかの行をスキップしているように見え (私がチェックしたファイルで 1 回発生)、行を誤って配置しました (誤って配置された行が他の 10 のパターンを持つドキュメントで 2 回発生したため、なぜこれらの 2 つだけでしょうか?)
行を取得するコードは次のとおりです。
def extract(fname,docPage):
pages=[docPage,docPage]
pagenums = set(pages)
output = StringIO()
manager = PDFResourceManager()
converter = TextConverter(manager, output, laparams=LAParams())
interpreter = PDFPageInterpreter(manager, converter)
infile = file(fname, 'rb')
for page in PDFPage.get_pages(infile, pagenums):
interpreter.process_page(page)
infile.close()
converter.close()
text = output.getvalue().decode("utf8")
output.close
return text
何か案は?または誰かがこの問題に直面していますか?この問題について調査しましたが、結果はありません。おそらく他のツール(pyPdf2など)を使用したアプローチ