PDFページを画像に変換する必要があります。テキストが書かれた背景画像があるので、これを画像として保存すると、背景画像のみが保存されます。
ページ全体を画像に変換できるように、同じソフトウェアを使用できますか?
PDFページを画像に変換する必要があります。テキストが書かれた背景画像があるので、これを画像として保存すると、背景画像のみが保存されます。
ページ全体を画像に変換できるように、同じソフトウェアを使用できますか?
回答:
imagemagickをインストールします。
PDFが配置されている端末を使用する:
完全なドキュメントの場合:
convert -density 150 input.pdf -quality 90 output.png
単一ページの場合:
convert -density 150 input.pdf[666] -quality 90 output.png
それによって:
PNG、JPG、または(実質的に)その他の画像形式を選択できます。
-density xxx
DPIを設定しますxxx
(共通は150と300です)。
-quality xxx
xxx
PNG、JPG、およびMIFFファイル形式の圧縮を設定します(100は圧縮なしを意味します)。
[666]
667 [0]
番目のページのみをPNGに変換します(最初のページはゼロベースの番号付けです)。
その他すべてのオプション(トリミング、グレースケールなど)は、Image Magicの Webサイトで表示できます。
-density 300
、パラメータを
gs -q NOPROMPT ...-sDEVICE=pngalpha -r150x150 -sOutputFile=/var/tmp/Yf%d -f/var/tmp/L -f/var/tmp/Fic1
、あなたが取得する場合convert: no images defined output.png
...それはあなたがghostscriptのインストールされていないことを意味します
/etc/ImageMagick-7/policy.xml
、ファイルを削除してPDF
から<policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />
pdftoppm
PDFをPNGに変換するために使用できます。
pdftoppm input.pdf outputname -png
形式を使用して、PDFのこの意志出力の各ページoutputname-01.png
で、01
ページのインデックスであること。
pdftoppm input.pdf outputname -png -f {page} -singlefile
{page}
ページ番号に変更します。インデックスは1なので-f 1
、最初のページになります。
このコマンドのデフォルトの解像度は150 DPIです。値を大きくすると、ファイルサイズが大きくなり、より詳細になります。
変換されたPDFの解像度を上げるには、オプション-rx {resolution}
とを追加します-ry {resolution}
。例えば:
pdftoppm input.pdf outputname -png -rx 300 -ry 300
-r 300
ことですが、同じ値に設定する場合は、x解像度とy解像度を個別に指定するのではなく、少し簡単に記述できます。
現在受け入れ答えは仕事をしていませんが、サイズが大きい出力になりや品質低下に苦しんでいます。
ここで与えられた答えの方法は、サイズが入力に匹敵し、品質の損失を被らない出力をもたらします。
TLDR-使用pdfimages
:pdfimages -j input.pdf output
リンクされた答えを引用する:
「品質の低下」の意味が明確ではありません。それは多くの異なることを意味する可能性があります。説明のためにいくつかのサンプルを投稿できますか?おそらく、低品質バージョンと高品質バージョンから同じセクションを切り取ってください(さらなる品質低下を避けるためにPNGとして)。
おそらく
-density
、より高いdpiで変換を行うために使用する必要があります。convert -density 300 file.pdf page_%04d.jpg
(先頭に追加する
-units PixelsPerInch
か-units PixelsPerCentimeter
、必要に応じて。コピーはデフォルトでppiになります。)更新: あなたが指摘したように、
gscan2pdf
(あなたがそれを使用している方法)はpdfimages
(popplerからの)単なるラッパーです。 入力としてPDFを指定した場合pdfimages
と同じことを行いませんconvert
。
convert
PDFを取得し、何らかの解像度でレンダリングし、結果のビットマップをソースイメージとして使用します。
pdfimages
埋め込まれたビットマップ画像をPDFで検索し、それぞれをファイルにエクスポートします。PDF内のテキストまたはベクトル描画コマンドを無視します。その結果、一連のビットマップの単なるラッパーであるPDFを使用
pdfimages
している場合、生データを元のサイズで取得できるため、それらを抽出する作業がはるかに良くなります。PDFには生のJPEGデータが含まれている可能性があるため、おそらくの-j
オプションも使用する必要がありますpdfimages
。デフォルトでは、pdfimages
すべてをPNM形式に変換し、JPEG> PPM> JPEGの変換は損失の多いプロセスです。だから、試してください
pdfimages -j file.pdf page
convert
to.jpg
ステップを実行する必要がある場合とそうでない場合があります(PDFが使用していたビットマップ形式によって異なります)。JPEG画像のシーケンスから自分で作成したPDFでこのコマンドを試しました。抽出されたJPEGは、ソースイメージとバイト単位で同一でした。それ以上の品質は得られません。
gm変換から1ページを取得するには、PDF名に[N](Nは0から始まるページ番号)をgm convert foo.pdf[11] out.png
追加します。つまり、PDFから12ページ目を取得します。
以下のためにpdftoppm
使用-f N -singlefile
、N、すなわち1から始まるページ番号であり、ここでpdftoppm -f 12 -singlefile foo.pdf out
同じ結果のためには。出力ファイル名には常に「.png」が追加されているようで、これを止める方法はありません。