私は含まれているテキストを抽出しようとしていますこれPDF ファイルを使用しますPython
。
私はpyPDF2 のパッケージ (バージョン 1.27.2) には次のスクリプトがあります。
import PyPDF2
with open("sample.pdf", "rb") as pdf_file:
read_pdf = PyPDF2.PdfFileReader(pdf_file)
number_of_pages = read_pdf.getNumPages()
page = read_pdf.pages[0]
page_content = page.extractText()
print(page_content)
コードを実行すると、PDF ドキュメントに含まれているものとは異なる次の出力が得られます。
! " # $ % # $ % &% $ &' ( ) * % + , - % . / 0 1 ' * 2 3% 4
5
' % 1 $ # 2 6 % 3/ % 7 / ) ) / 8 % &) / 2 6 % 8 # 3" % 3" * % 31 3/ 9 # &)
%
PDF ドキュメント内のテキストをそのまま抽出するにはどうすればよいですか?
ベストアンサー1
私はPython 3.xとWindowsで使用できるシンプルなソリューションを探していました。テキスト抜粋残念なことですが、Windows/Python 3用のシンプルなソリューションをお探しの場合は、ティカパッケージ、PDF を読むのに本当に簡単です。
Tika-Python は、Apache Tika™ REST サービスへの Python バインディングであり、これにより Python コミュニティで Tika をネイティブに呼び出すことができます。
from tika import parser # pip install tika
raw = parser.from_file('sample.pdf')
print(raw['content'])
Tika は Java で記述されているため、Java ランタイムをインストールする必要があることに注意してください。