「pdfimages」と「pdftoppm」の違いは何ですか?

「pdfimages」と「pdftoppm」の違いは何ですか?

Scan Tailorを使用してPDFを処理するには(キャプチャされたPDFページの背景を削除するまたはPDFページ分割)、プログラムに入力画像が必要なため、PDF自体を入力することはできません。pdftoppm MY_PDF NAME_OF_IMAGE -png低品質のPDFにも同様のコマンドを使用しましたが、結果の画像が元のPDFよりも悪かった。

ここに画像の説明を入力してください。

pdfimagesしかし、ツールを使用した結果は元のものpoppler-utilsと同じくらい良いです。

他の変数が使用されている場合-png(または変数が使用されておらず出力がある場合ppm)、値は変更されません。

pdfimages私はそれが今からpdftoppm予想されるプレーンテキストを提供しているのでまったく良くないことがわかりました。

PDFから抽出してpdfimagesドルフィンで見ると画像が悪い

ここに画像の説明を入力してください。

同じPDFから抽出してドルフィンで見た場合、pdftoppm正しい画像:

ここに画像の説明を入力してください。

なぜこれらの違いがありますか?

答え1

違いはツールの目的から来ています。 PDFが柔軟なファイル形式であることがわかると、これは明らかになります。これには、テキスト、ベクターグラフィック、およびラスターイメージを含めることができます(このリストは完全なリストではありません)。 「レイアウト情報を含むzip」(全体の簡略化)と考えることができます。

  • pdftoppmPDF全体を「レンダリング」または「ラスタライズ」します。すべてのテキストとグラフィックはラスター化された出力イメージになります。
    埋め込まれたラスター画像のピクセルが出力「キャンバス」のピクセルとほとんど揃わないため、補間が発生し品質が低下します。これは出力解像度(オプション-r)を大幅に増やすことで対応できます。もちろん、これはファイルサイズも増加することを意味します。
  • pdfimagesラスターイメージはPDFファイルから抽出されます。テキストまたはベクターグラフィックは無視されます。
    ラスターイメージはそのまま抽出されるため、元の品質は維持されますが、レイアウトに関する情報は失われます。

入力PDFにラスター画像のみが含まれていて、他の画像がまったく含まれていない場合、出力は同様に見えることがあります。

あなたの例では、コピー機のスキャン機能はテキストブロックを識別して高品質で保存しようとします。文書の残りの部分(白い背景など)は、保存スペースを節約するために低品質で保存されます。あなたが見つけたように、これは誰かに有利かもしれないし、そうではないかもしれません。

関連情報