まず、PDF用語で「画像」と呼ばれるものは、定義上、常にラスター画像です。「ベクター画像」などというものはありません。PDF に変換された元のファイルにベクター グラフィックスが含まれていたとしても、コンバーター プログラムは、これらがラスター イメージとして含まれていると判断した可能性があります。これを抽出すると、ベクター グラフィックスではなく、ラスター イメージが返されます。PDF 内にそのまま保存されているラスター グラフィックスは、 では抽出できませんpdfimages
。
次に、 を使用して実際に画像を抽出する必要はありませんpdfimages
。現在のバージョン (v0.20.2 以降) の「Poppler」フォークをpdfimages
使用している場合、-list
パラメータを使用して、特定の範囲の PDF ページのすべての画像のリストを取得できます。
pdfimages -list -f 7 -l 8 ct-magazin-14-2012.pdf
ページ番号 タイプ 幅 高さ カラー コンプ bpc enc interp オブジェクト ID
-------------------------------------------------- -------------------
7 0 画像 581 838 rgb 3 8 jpeg no 39 0
7 1 画像 4 4 RGB 3 8 画像番号 40 0
7 2 画像 314 332 RGB 3 8 jpx no 44 0
7 3 画像 358 430 RGB 3 8 jpx no 45 0
7 4 画像 4 4 RGB 3 8 画像番号 46 0
7 5 画像 4 4 RGB 3 8 画像番号 47 0
7 6 画像 4 6 RGB 3 8 画像番号 48 0
7 7 画像 596 462 RGB 3 8 jpx no 49 0
7 8 画像 4 6 RGB 3 8 画像番号 50 0
7 9 画像 4 4 RGB 3 8 画像番号 51 0
7 10 画像 8 10 RGB 3 8 画像番号 41 0
7 11 画像 6 6 RGB 3 8 画像番号 42 0
7 12 画像 113 27 RGB 3 8 jpx no 43 0
8 13 画像 582 839 グレー 1 8 jpeg no 2080 0
8 14 画像 344 364 グレー 1 8 jpx no 2079 0
再度注意してください: このバージョンのpdfimages
は Poppler のものです (XPDF のものは(まだ?) この新機能をサポートしていません)。
ご覧のとおり、これは画像のそれぞれの幅と高さを示しています。ただし、これは (まだ) DPI についての手がかりにはなりません。大きなラスター画像が PDF ページの小さなスペースに詰め込まれている場合、DPI 値は非常に高くなります。(これは、彼自身の答えに対する台座のコメントも強調していることです...)
DPI を計算するには、ページに表示される画像の幅/高さを測定する必要があります (Acrobat/Reader のツールの 1 つを使用して行うことができます)。上記の出力で DPI を計算します。
アップデート
の最近のバージョンでは、追加の列に含まれる画像の実際の解像度が DPI で直接pdfimages
表示されるようになりました。この情報を取得することが、質問の当初の目標でした:
pdfimages -list -f 6 -l 7 example.pdf
ページ番号 タイプ 幅 高さ カラー コンプ bpc enc interp オブジェクト ID x-ppi y-ppi サイズ比
-------------------------------------------------- ----------------------------------------------
6 0 画像 1901 1901 RGB 3 8 画像番号 632 0 1818 1818 468K 4.4%
6 1 画像 1901 1901 RGB 3 8 画像番号 645 0 1818 1818 521K 4.9%
新しい出力形式では、各イメージの水平解像度と垂直解像度も表示されます ( 'x-ppi'、'y-ppi' )。また、ストレージ ( 'size' ) とその圧縮率 ( 'ratio' )に関するイメージの実際のサイズも示します。
( のこれらの新機能を示唆する更新を提案してくれた @Eric に感謝しますpdfimages
。)