重要なPDFがあり、そこから可能な限りロスレスでソースイメージを抽出する必要があります(たとえばpngを使用)。何らかの理由で、ソースイメージは226の画像ストライプで構成されているようで、たとえばこれらを抽出すると
pdfimages -png name.pdf out-
227本の小さな縞模様が出てきます。これは私が望んでいるものではありません。代わりに1つの画像を取得する方法はありますか?pdfimages -リストストライプに関する情報を教えてくれ、例えば上記を使ってpdfimages -png name.pdf 出力-227 枚の単一画像が表示されます。1 枚の画像は、たとえば幅 1604 ピクセル、高さ 5 ピクセルです。確認したところ、すべての画像の高さは 5 ピクセルのようです。227 枚の単一画像がある場合は、代わりに 1604 x 1135 ピクセルの単一画像が 1 枚表示されるはずです。
アップデート ライアン・J・ヨーダー氏が以下に書いたことは、この問題に関する私自身の考えでもあると付け加えるのを忘れていました。つまり、この PDF は、実際に元の画像を 227 本のストライプに分割して作成されたということです。
そして結論として、もしそうだとすれば(pdfimages -リストそうだそうです) たとえば graphicsmagick を使用して、ストライプから 1 つの画像を自動的に作成する方法はありますか。
答え1
Ghostscript を使用すると、ビューアに表示されるページの画像を取得できます。たとえば、、、… という名前の 300 dpi の画像の場合、次のようになり.png
ます。out_001.png
out_002.png
in.pdf
gs -q -dBATCH -dNOPAUSE -sDEVICE=png16m -r300 -sOutputFile=out_%03d.png in.pdf
答え2
ImageMagick を使用すると、コマンドラインで PDF を png に「変換」できます。
convert -density 300 page.pdf page.png
または任意の密度 (DPI) を指定します。