質問

Pythonを使用して、複数ページのPDFを一連のJPEGに変換しようとしています。利用可能なツールでPDFを個々のページに簡単に分割できますが、PDFを画像に変換できるものは見つかりませんでした。

PILはPDFを読み取れないため、機能しません。私が見つけた2つのオプションは、シェルでGhostScriptまたはImageMagickを使用することです。このプログラムはクロスプラットフォームである必要があるため、これは私にとって実行可能なオプションではありません。これらのプログラムのいずれかが、インストールおよび使用されるマシンで使用可能かどうかはわかりません。

これを実行できるPythonライブラリはありますか?

役に立ちましたか?

他のヒント

Python ghostscriptモジュール(「$ pip install ghostscript」によってインストールされます)を使用して、私にとってうまくいったことは次のとおりです。

import ghostscript

def pdf2jpeg(pdf_input_path, jpeg_output_path):
    args = ["pdf2jpeg", # actual value doesn't matter
            "-dNOPAUSE",
            "-sDEVICE=jpeg",
            "-r144",
            "-sOutputFile=" + jpeg_output_path,
            pdf_input_path]
    ghostscript.Ghostscript(*args)

Ghostscript 9.18もコンピューターにインストールしましたが、そうでなければおそらく機能しなかったでしょう。

Ghostscript依存関係は避けられません。 Imagemagickでさえ、PDF読み取り機能についてGhostscriptに依存しています。この理由は、PDF形式の複雑さです。PDFにはビットマップ情報が含まれているだけでなく、ほとんどがベクトル形状、透明度などです。 さらに、どのオブジェクトがどのページに表示されるかを把握するのは非常に複雑です。

したがって、PDFページの正しいレンダリングは、純粋なPythonライブラリの範囲外であることは明らかです。

良いニュースは、Ghostscriptが多くのウィンドウとLinuxシステムにプリインストールされていることです。これらはすべてのPDFプリンター(Adobe Acrobatを除く)にも必要なためです。

Linuxを使用している場合、一部のバージョンには「pdftopbm」と呼ばれるコマンドラインユーティリティが付属しています。 netpbm

をご覧ください。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top