50

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

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

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

4

5 に答える 5

21

ImageMagickにはPythonバインディングがあります。

于 2008-12-01T19:33:44.490 に答える
8

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 もインストールしましたが、それ以外の方法では機能しなかったでしょう。

于 2016-03-20T11:13:40.377 に答える
4

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

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

幸いなことに、Ghostscriptは多くのWindowsおよびLinuxシステムにプリインストールされています。これは、GhostscriptがすべてのPDFプリンター(Adobe Acrobatを除く)でも必要であるためです。

于 2009-03-18T10:27:39.307 に答える
1

おそらく関連性があります:http ://www.swftools.org/gfx_tutorial.html

于 2011-12-13T23:09:55.197 に答える
1

Linux を使用している場合、一部のバージョンには、すぐに使用できる「pdftopbm」というコマンド ライン ユーティリティが付属しています。netpbmをチェックしてください

于 2010-01-04T20:58:05.290 に答える