質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

1552閲覧

Python:pdf2image及びPopplerを使用したコードのexe化したものを実行した際に起こるエラーについて

shuji12345

総合スコア0

PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/06/28 16:47

Pythonにて、pdf2image及びpopplerを利用して、PDFファイルをページごとにPNG画像に変換するコードを作成しております。同じフォルダ内にPopplerのダウンロードファイル(binやshareなどが入っているファイル)を入れております。
poppler/binのファイルパスは以下。
C:\Users\81808\workspace\lec_rpa\notouch_file\poppler\bin
Pythonコードはlec_rap内にあり、パスは以下
C:\Users\81808\workspace\lec_rpa

以下のコードを実行して、lec_rpa/todokede_dataにあるbid.pdfという2ページ構成のpdfをそれぞれ
1ページずつPNG画像にして、lec_rpa内にある、./pdf_imageに保存するコードです。

import os from pdf2image import convert_from_path from pathlib import Path poppler_dir = Path(__file__).parent.absolute() / "notouch_file/poppler/bin" os.environ["PATH"] += os.pathsep + str(poppler_dir) # PDFファイルのパス pdf_path = Path("./todokede_data/bid.pdf") # PDF -> Image に変換(150dpi) pages = convert_from_path(str(pdf_path), 200) image_dir = Path("./pdf_image") for i, page in enumerate(pages): file_name = pdf_path.stem + "_{:02d}".format(i + 1) + ".png" image_path = image_dir / file_name # PNGで保存 page.save(str(image_path), "PNG")

ちなみにtodokede_dataとpdf_imageのパスは以下です。
todokede_data:C:\Users\81808\workspace\lec_rpa\todokede_data
pdf_image:C:\Users\81808\workspace\lec_rpa\pdf_image

これをVScodeで実行するとうまくいくのですが、Pyinstallerで--onefileにてexe化すると、
以下のエラーが出てしまい、実行されません。

Traceback (most recent call last): File "pdf2image\pdf2image.py", line 458, in pdfinfo_from_path File "subprocess.py", line 966, in __init__ File "subprocess.py", line 1435, in _execute_child FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "test2.py", line 13, in <module> File "pdf2image\pdf2image.py", line 98, in convert_from_path File "pdf2image\pdf2image.py", line 484, in pdfinfo_from_path pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH? [6316] Failed to execute script 'test2' due to unhandled exception!

いったいどうすれば実行できますでしょうか。
詳しい方教えていただけると幸いです。。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問