次のコマンドを使用してpdfファイルをjpgファイルの束に変換すると、
convert -quality 100 file.pdf page_%04d.jpg
品質が著しく低下しました。
しかし、以下を行うと(目に見える)品質損失はありません。
gscan2pdfを起動し、ファイル - >インポート(次にfile.pdfを選択)を選択します。次に、gscan2pdfの一時ディレクトリを入力します。多くのpnmファイルがあります(pdfファイルの各ページに1つずつ)。今はい
for file in *.pnm; do
convert $file $file.jpg done
結果のjpgファイルは(私が望む)元のPDFと(ほぼ)同じ品質を持っています。
今私の質問は、目に見える品質を損なうことなくpdfファイルをjpgファイルの束に変換する簡単なコマンドライン方法はありますか? (上記の解決策は複雑すぎて時間がかかります)。
ベストアンサー1
「品質損失」が何を意味するのかは不明です。これは非常にさまざまなことを意味することができます。説明するためにいくつかの例を投稿できますか?品質の悪いバージョンと良いバージョンで同じ部分を切り取ることもできます(追加の品質損失を避けるためにPNGで)。
-density
変換にはより高いdpiを使用する必要があるかもしれません。
convert -density 300 file.pdf page_%04d.jpg
-units PixelsPerInch
(必要な場合または前に追加できます-units PixelsPerCentimeter
。マイコピーのデフォルト値はppiです。)
修正する: あなたが指摘したようにgscan2pdf
(あなたがそれを使用する方法は)ただpdfimages
(fromポプラ)。 PDFを入力として使用するのと同じことはpdfimages
しません。convert
convert
PDFをインポートして特定の解像度でレンダリングし、結果のビットマップをソースイメージとして使用します。
pdfimages
埋め込みビットマップイメージのPDFを表示し、各イメージをファイルにエクスポートします。 PDFのテキストまたはベクトル描画コマンドは無視されます。
したがって、持っているPDFが一連のビットマップを囲むラッパーである場合は、元のサイズpdfimages
の生データを提供するので、そのPDFを抽出することをお勧めします。 PDFには生のJPEGデータを含めることができるため、-j
このオプションを使用することもできます。pdfimages
デフォルトではpdfimages
、すべてがPNM形式に変換され、JPEG> PPM> JPEG変換は損失の多いプロセスです。
だから一度試してください。
pdfimages -j file.pdf page
PDFで使用するビットマップ形式によっては、手順に従うことも、convert
必要としない場合もあります。.jpg
一連のJPEG画像で作成されたPDFでこのコマンドを試しました。抽出されたJPEGは、ソースイメージとバイト単位で同じです。これより高いクオリティを得ることはできません。