web-dev-qa-db-ja.com

PDFファイルで画像解像度を検索しますか?

非常に大きなPDFを作成するユーザーがいるという問題があります。一方、私はPDF本当にサイズが小さく、完全に印刷可能なファックス機から送信されました。私の質問は

  • PDFの解像度(DPI)を見つける方法はありますか?インターネットで検索しましたが、答えが見つかりませんでした。ファイルのプロパティを確認したところ、少なくとも私の場合、この情報はそこに保存されていませんでした。
  • テキストファイルを画像PDFに変換する場合の最適な解像度はどれですか。 96dpi、300dpi以上?
  • 楽しい質問。高解像度でスキャンしたPDFのサイズをより小さなdpiに変更できますか?

すでにインターネットを検索していて、回答が見つからなかったため、一部の回答が利用できない可能性があることを知っています。

注:My PDFは完全に画像であり、テキストから画像です。私は、primoPDF(無料)を試してみることもできます

15
hk_

slhckの回答とscrussのコメントは更新に値します。pdfimagesは現在(少なくともバージョン0.26.5以降)_x-ppi_と_y-ppi_を明示的にリストしています。次に出力例を示します。

_$ pdfimages -list example.pdf 
page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image    2244  2244  cmyk    4   8  image  no       215  0   301   301  418K 2.1%
   2     1 image     900   600  rgb     3   8  image  no       324  0  1524  1525 35.5K 2.2%
_

Debian(Wheezy)およびFedora(23)では、pdfimagesは_poppler-utils_パッケージの一部です。

画像データを抽出したくないことはわかっていますが、これがおそらく元の解像度を見つける唯一の方法です。


* nixでは、ImageMagickの identify および Xpdf がインストールされている場合1

pdfimages -j test.pdf test && for file in $(find . -name "test*.jpg"); do identify "$file"; done

ここで、test.pdfは入力PDFです。出力ファイルはtest-000.jpgtest-001.jpgなどに書き込まれます。これにより、そのPDFに含まれるすべての画像の元のサイズが得られます2

PDF 1つの大きな画像のみを含むファイルの出力例:

./test-000.jpg JPEG 2500x1961 2500x1961+0+0 8-bit DirectClass 1.022MB 0.000u 0:00.000

1)Windowsにもこれらがありますが、スクリプトはもちろん異なります。
2)画像は実際にはDPI情報を含んでいないことに注意してください。簡単に言えば、それは単に印刷に使用されるものであり、画像にはDPIの固有の測定値は必要ありません。


テキストファイルを画像PDFに変換する場合の最適な解像度はどれですか。 96dpi、300dpi以上?

通常、印刷するものはすべて300dpi以上にする必要があります。ほとんどのプリンターは、より高い解像度も処理します。

8
slhck

何らかの理由で、CentOSでアップグレードできるpdfimagesの最新バージョンはバージョン3.04です。

したがって、以前の回答で述べたように-listオプションはありません。ただし、slhckの回答に基づいてpdfimagesから作成されたテスト画像には、必要な回答が含まれています。

特定-verbose test-0000.jpg |もっと

Image: test-0000.jpg  
Format: JPEG (Joint Photographic Experts Group JFIF format)  
Mime type: image/jpeg  
Class: DirectClass  
Geometry: 6600x5100+0+0  
Resolution: 600x600  
Print size: 11x8.5

したがって、dpiは、identifyコマンドの-verboseオプションを使用して6行目に明示的に表示されます。

したがって、slhckの回答は次のように変更できます。

pdfimages -j test.pdf test && for $(find。-name "test * .jpg");ファイルを識別-verbose "$ file" | awk 'NR == 6'; done

別のメモでは、私は走ってみました

特定-verbose test.pdf

Format: PDF (Portable Document Format)  
Mime type: application/pdf  
Class: DirectClass  
Geometry: 792x612+0+0  
Resolution: 72x72  
Print size: 11x8.5  

Imagemagickは常に72dpiを想定しているため、ここに出力される情報は正しくないようです。

4
kykong

PDFファイルには固有の解像度がありません。ファイル内の各ラスター画像(もしあれば)には独自の解像度があります。単一の数値を抽出する簡単な方法がわかりません埋め込まれた画像XObjectの中央/モーダル解像度用。

1
RedGrittyBrick

これは、京セラのmfpから生成されたPDFで動作しました...これは、スキャンなどのフルページ画像でのみ有効です。

  1. リーダー付きPDFを開く-
  2. ファイル>プロパティ-説明タブ-ページサイズ。私の例では、8.5x11.0インチと述べています。

  3. テキストエディター(メモ帳)でPDFを開き、/widthおよび/heightを探します。

  4. 高さと幅を取り、それらをページの高さと幅(インチ)で割ります。

例:

5100/8.5=600
6600/11.0=600

私のPDFは600x600の解像度でスキャンされました。

ドキュメントのサイズがわかっている場合は、最初の2つのステップをスキップできます(通常、A4は8.27x11.69です)。

1
Jeff21050

2番目の点に答えるために、@ slhckのプリンターdpiに関する言及に加えて、300dpiは、10 + ptのフォントサイズのOCRの一般的な最小推奨数でもあります。

さらに、最新の15インチ4Kラップトップ画面も約280PPiしかないため、画面(横向き)でA4全体を表示したい場合、それよりも高いドキュメントはすべてスキャンされるため、320 dpi以上でスキャンするポイントはありません。もちろん、ズームインする場合は問題になりませんが、より高いdpiが必要になる場合があります。

他の2つの点に答えるために、現在、少なくともAcrobat Proを使用して画像のDPIと解像度を確認し、編集することもできます。

0
jiggunjer