🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2542閲覧

pdfファイルのテキストを抽出したい

taboopython

総合スコア40

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/23 08:40

pdfminerでpdfのテキストを抽出したいのですが、テキスト出力できません。

実行したコードと実行結果は次のとおりです。

もしおわかりになれば問題点と、修正ポイントをご教示いただければ幸いです。

python

1from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 2from pdfminer.converter import TextConverter 3from pdfminer.layout import LAParams 4from pdfminer.pdfpage import PDFPage 5from io import StringIO 6 7input_path = r"/〇〇/〇〇/input.pdf" 8output_path = r"/〇〇/〇〇/result.txt" 9rsrcmgr = PDFResourceManager() 10codec = 'utf-8' 11params = LAParams() 12text = "" 13with StringIO() as output: 14 device = TextConverter(rsrcmgr, output, codec=codec, laparams=params) 15 with open(input_path, 'rb') as input: 16 interpreter = PDFPageInterpreter(rsrcmgr, device) 17 for page in PDFPage.get_pages(input): 18 interpreter.process_page(page) 19 text += output.getvalue() 20 device.close() 21text = text.strip() 22with open(output_path, "wb") as f: 23 f.write(text.encode('cp932', "ignore"))

実行結果は、次のように表示され、テキストはできていませんでした。

Traceback (most recent call last): File "pdf2text.py", line 16, in <module> for page in PDFPage.get_pages(input): File "/〇〇/.pyenv/versions/3.7.3/lib/python3.7/site-packages/pdfminer/pdfpage.py", line 132, in get_pages raise PDFTextExtractionNotAllowed('Text extraction is not allowed: %r' % fp) pdfminer.pdfdocument.PDFTextExtractionNotAllowed: Text extraction is not allowed: <_io.BufferedReader name='input.pdf'>

なお、環境はpython3 MacOS10です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

この文書では正常に動作しました。
パスワードがかかっていたり編集が許可されていないPDFだと提示エラーが発生するようです。
参考:PDFデータをテキスト化する方法

投稿2019/09/23 09:18

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taboopython

2019/09/23 10:26

ありがとうございます。PDFファイル固有の問題ということで理解しました。一旦解決とします。ちなみに編集許可に限らずテキスト化する方法はございませんでしょうか?もしどなたかご存知の方がいらっしゃればご教示いただければ幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問