Poppler:pdfimages の使い方

TOP > Poppler ツール > *


Red-haired monster

機能

Poppler の Pdfimages.exe はPDFファイルから、PPM、PBM、PNG、TIFF、JPEG、JPEG2000、またはJBIG2の画像を抽出してファイル保存します。

Pdfimages はPDFファイルを読み込み、1つまたは複数のページをスキャンします。そして画像ごとに一つのファイルを書き出します。画像ファイル名は [image-root] - [nnn].[xxx] の形式です。「image-root」はオプションで指定できる画像のルート名、nnnは自動的に振られる画像番号、xxxは画像の種類(.ppm、.pbm、.PNG、.TIF、.JPG、JP2、jb2e、またはjb2g)です。

デフォルトの出力形式はPBM(モノクロ画像用)または非モノクロ画像用のPPMです。-png または -tiff のオプションはそれぞれをPNG やTIFF の出力にデフォルトを変更します。-png と -tiff の両方が指定されている場合はCMYK画像はTIFF として書き出され、他のすべての画像はPNG として書き出されます。更に -j 、-jp2 、および -jbig2 オプションは JPEG 、JPEG2000 、および JBIG2 を書き出します。それぞれはネイティブフォーマットで書き込まれたPDFファイル内の画像です。

 

 

これ以降は Poppler pdfimages.exe version 0.45.0 Windows版での内容です。

 

Help の内容

 

形式

pdfimages  [options]  <PDF-file>  <image-root>

  • options : オプション。複数の組み合わせ可能
  • PDF-file : 入力のPDFファイル名
  • image-root : 出力ファイル名の画像ルート名

各区切りは1つ以上の空白です。

これ以降は各種 options の説明です。  

 

Options





各オプションはオプション文字列の前にハイフン「-」、そしてオプション名です。更に値が続く場合は1つ以上の空白を入れてから、値を入れます。複数のオプションを連続で入れる時も1つ以上の空白を入れまて連続させます。

例: -f  1  -l  10

例: -upw ABC -png -p

 

-f <int>

PDFをスキャンするページ範囲の最初のページ番号を指定します。無指定は1ページからの扱いになります。基本的に「 -l 」オプションと対で使用します。

例:5頁から10頁までの一覧を表示

pdfimages -f 5 -l 10 -list abcd.pdf

-l <int>

PDFをスキャンするページ範囲の最後のページ番号を指定します。無指定は最終ページまでの扱いになります。基本的に「 -f 」オプションと対で使用します。

例:5頁から7頁までの一覧を表示

pdfimages -f 3 -l 7 -list abcd.pdf

-png

デフォルトの出力形式をPNGに変更します。

-tiff

デフォルトの出力形式をTIFFに変更します。

-j

デフォルトフォーマットの代わりにJPEGフォーマットの画像はJPEGファイルとして書き出します。JPEGファイルはPDFに格納されたJPEGデータと同一です。

-jp2

デフォルトフォーマットの代わりにJPEG2000フォーマットの画像はJP2ファイルとして書き出します。JP2ファイルはPDFに格納されたJPEG2000データと同一です。

-jbig2

デフォルトフォーマットの代わりにJBIG2フォーマットの画像はJBIG2ファイルとして書き出します。PDF内のJBIG2データは埋め込まれたタイプのものです。JBIG2の埋め込み型はグローバルデータを含むオプションの別々のファイルがあります。埋め込まれたデータは拡張 .jb2e で書き込まれ、そして(利用可能な)グローバルデータは同じ画像番号で拡張 .jb2g で書き込まれます。両方のこれらのファイルの内容はPDF内のJBIG2データと同一です。

-ccitt

デフォルトフォーマットの代わりにCCITTフォーマットの画像はCCITTファイルとして書き出します。CCITTファイルはPDFに格納されたCCITTデータと同一です。PDFファイルにはCCITTデータをデコードする方法を指定する追加パラメータが含まれています。これらのパラメータは fax2tiff の入力オプションに変換し、同じ画像番号で .params ファイルに書き込まれます。パラメータは次のとおりです。

  • -1 : 1D Group 3 encoding
    1D グループ3 エンコーディング
  • -2 : 2D Group 3 encoding
    2D グループ3 エンコーディング
  • -4 : Group 4 encoding
    グループ4 エンコーディング
  • -A : 行の先頭はバイト境界で整列されている
  • -P : 行の先頭はバイト境界で整列されてない
  • -X n :ピクセル単位での画像の幅
  • -W : エンコードは黒のための1と白のための0を使用
  • -B : エンコードは黒のための0と白のための1を使用
  • -M : 入力データは最上位ビットから最下位ビットまで塗りつぶされる

-all

ネイティブ形式でJPEG、JPEG2000、JBIG2、およびCCITTイメージを書き出します。CMYKファイルは、TIFFファイルとして書き出されます。他の画像はPNGファイルとして書き出されます。これはオプション -png -tiff -j -jp2 -jbig2 -ccitt を指定するのと同じです。

-list

画像を書き出す代わりに各画像の様々な情報を画像の一覧で表示します。このオプションでは画像のルート名を指定しないでください。

以下の情報が各画像のために一覧表示されます。

  • page :画像を含むPDFのページ番号
  • num :画像番号
  • type :画像の種類
    • image - 不透明な画像
    • mask - モノクロマスク画像
    • smask - ソフトマスク画像
    • stencil - 色や模様を描くために使用されるモノクロのマスク画像
  • width :画像の幅(ピクセル単位)
  • height :画像の高さ(ピクセル単位)
    注記:画像の幅 / 高さは埋め込まれた画像のサイズで、画像が描画されたサイズでは無い。
  • color :画像の色空間
    • gray - Gray : 灰色
    • rgb - RGB
    • cmyk - CMYK
    • lab - L*a*b
    • icc - ICC Based : ICCベース
    • index - Indexed Color : インデックスカラー
    • sep - Separation
    • devn - DeviceN
  • comp :色成分の番号
  • bpc :コンポーネント単位のビット数
  • enc :エンコーディング
    • image  - ラスタイメージ(Flate又はLZW圧縮ですが画像符号化を使用しなし)
    • jpeg - Joint Photographic Experts Group
    • jp2 - JPEG2000
    • jbig2 - Joint Bi-Level Image Experts Group
    • ccitt - CCITT Group 3 or Group 4 Fax : CCITTグループ3またはグループ4Fax
  • interp :"yes"は画像のスケールアップ時に補間が実行される場合
  • object ID :画像辞書オブジェクトID(番号と世代)
  • x-ppi :PDFページに描画されたときの画像の水平解像度(インチ単位のピクセル数)
  • y-ppi :PDFページに描画されたときの画像の垂直解像度(インチ単位のピクセル数)
  • size :PDF ファイルに埋め込まれた画像のサイズ。次のサフィックスが使用されます: 'B' バイト、キロバイト単位 'K'、' M' メガバイトと 'G' ギガバイト。
  • ratio :埋め込まれた画像の圧縮率

 

-opw <string>

暗号化されたファイルのオーナーパスワードを指定します。これを使うとすべてのセキュリティ設定の制限を回避します。つまりセキュリティ設定無しの状態に出来ます。 

注記: ↑ と説明には書かれていますが、セキュリティ設定で全てを「許可しない」の状態にしても、指定無しで画像の保存は出来ました。

-upw <string>

暗号化されたファイルのユーザーパスワードを指定します。これは文書を開くパスワードです。

-p

出力ファイル名にページ番号を含めます。画像ファイル名は [image-root] - [3桁のページ番号] - [nnn].[xxx] の形式になります。

-q

任意のメッセージまたはエラーを表示しません。慣れるまでは使わない。

-v

著作権とバージョン情報を表示します。

-h , -help , --help , -?

著作権とバージョン情報、形式、引数などの簡単な説明を一覧表示します。

 

image-root

画像のルート名 : 出力画像のファイル名に指定文字列付きの連番のファイル名にしたい時に指定します。

例: 「pdfimages -all in.pdf ABC」と指定した場合、出力ファイル名は以下の様になります。

  • ABC-000.ccitt
  • ABC-000.params
  • ABC-001.ccitt
  • ABC-001.params
  • ABC-002.jpg
  • ABC-003.jpg
  • ABC-004.png

無指定だと、ファイルの出力しません。エラーは出ずに --help オプションを指定した時と同じ動きになります。

例: 「pdfimages -all -p in.pdf ABC」と -p オプションを追加するとベージ番号がファイル名に追加されます。

  • ABC-001-000.ccitt
  • ABC-001-000.params
  • ABC-002-001.ccitt
  • ABC-002-001.params
  • ABC-003-002.jpg
  • ABC-004-003.jpg
  • ABC-005-004.png

出力先フォルダを指定する事も出来ます。事前に該当フォルダが存在する必要があります。画像のルート名の前に出力先フォルダ名を入れます。

例 : カレントフォルダ+save フォルダにABCの画像のルート名で保存。
>pdfimages aa.pdf save¥ABC
  

例 : D:¥work¥ フォルダにABCの画像のルート名で保存。
>pdfimages aa.pdf d:¥work¥ABC

画像のルート名に半角の空白を入れたい場合はダブルクオーテーションで囲って下さい。

例:画像のルート名に半角の空白を入れたい場合
>pdfimages aa.pdf "save¥A B C"

例:保存先フォルダに半角の空白が含まれる場合
>pdfimages aa.pdf "save wk¥ABC"

例:保存先フォルダのフルパスに半角の空白が含まれる場合
>pdfimages aa.pdf "D:¥wo rk¥save¥ABC"

 

終了コード

pdfimages ツールは次の終了コードを返します。

  • 0 : エラー無し
  • 1 : 入力PDFファイルを開く時にエラーが発生した
  • 2 : 出力ファイルを開く時にエラーが発生した
  • 3 : 入力PDFファイルのアクセス権に関連するエラーが発生した
  • 99 : その他のエラー

 

VBA関数からの起動

以下のVBA関数を利用してPoppler の pdfimages.exe をコマンドライン起動できます。 

 

Pdfimages を使ったVBA関数

 

エラーメッセージの表示例

例:保存しようとしたが該当するフォルダが無いので保存ファイル単位でエラーメッセージが表示された。

例: -list オプションで表示されたエラーメッセージ。メッセージの原因は不明。

例: -opw , -upw でパスワードを間違えた時:
エラーメッセージは表示されず -help オプション指定と同じ扱いになる。

 

注意事項

  1. デフォルトの保存先フォルダは pdfimages.exe の実行フォルダです。よって実行後は別のフォルダへ移動するか、保存先フォルダを指定する必要が有ります。
     
  2. image-root に存在するフォルダを指定して、画像のルート名を指定しなくても実行エラーにはならないが。ハイフンが先頭の連番だけの「-000.ppm」等のファイルが出来てします。

 

備考

  • 「-upw xxxx」「-opw xxxx」オプションをコマンドの最後に入れてもOKです。
  • PDF :Portable Document Format
  • PPM :Portable Pixmap ポータブルピックスマップ
  • PBM :Portable Bitmap ポータブルビットマップ
  • PNG :Portable Network Graphics ポータブルネットワークグラフィックス
  • TIFF :Tagged Image File Format タグイメージファイル形式

 

動作確認の環境

  • Windows 10 64bit Pro
  • Microsoft Office 2007 Excel 32bit

 

< Poppler へ戻る >

 


 

サイト管理人用の技術メモ

これ以降はサイト管理人専用の単なる技術メモです。見なくても結構です。

image-root に保存先フォルダを入れた場合の例。条件として事前に該当フォルダが存在する必要が有る。該当フォルダが無いと以下の様に「I/O Error」になる。

 

< Poppler へ戻る >

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin

コメントをする時は最低でも以下をお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン