TOP > Poppler ツール > *
機能
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ファイル内の画像です。
001 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages aa.pdf ABC
002
003 I:¥Tools¥Run¥Poppler-0.45¥bin>dir ABC*.*
004 ドライブ I のボリューム ラベルは I です
005 ボリューム シリアル番号は YYYY-XXXX です
006
007 I:¥Tools¥Run¥Poppler-0.45¥bin のディレクトリ
008 2016/07/02 16:16 472,013 ABC-000.pbm
009 2016/07/02 16:16 478,969 ABC-001.pbm
010 2016/07/02 16:16 3,282,208 ABC-002.ppm
011 2016/07/02 16:16 1,509,016 ABC-003.ppm
012 2016/07/02 16:16 1,228,815 ABC-004.ppm
013 5 個のファイル 6,971,021 バイト
014 0 個のディレクトリ 213,843,374,080 バイトの空き領域
015
016 I:¥Tools¥Run¥Poppler-0.45¥bin>
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
これ以降は Poppler pdfimages.exe version 0.45.0 Windows版での内容です。
Help の内容
001 D:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages -h
002 pdfimages version 0.45.0
003 Copyright 2005-2016 The Poppler Developers - http://poppler.freedesktop.org
004 Copyright 1996-2011 Glyph & Cog, LLC
005 Usage: pdfimages [options] <PDF-file> <image-root>
006 -f <int> : first page to convert
007 -l <int> : last page to convert
008 -png : change the default output format to PNG
009 -tiff : change the default output format to TIFF
010 -j : write JPEG images as JPEG files
011 -jp2 : write JPEG2000 images as JP2 files
012 -jbig2 : write JBIG2 images as JBIG2 files
013 -ccitt : write CCITT images as CCITT files
014 -all : equivalent to -png -tiff -j -jp2 -jbig2 -ccitt
015 -list : print list of images instead of saving
016 -opw <string> : owner password (for encrypted files)
017 -upw <string> : user password (for encrypted files)
018 -p : include page numbers in output file names
019 -q : don't print any messages or errors
020 -v : print copyright and version info
021 -h : print usage information
022 -help : print usage information
023 --help : print usage information
024 -? : print usage information
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
形式
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関数
- PDFに埋め込まれた画像の保存するVBA関数
- PDFに埋め込まれた画像の情報一覧を取得するVBA関数 ※検討中
エラーメッセージの表示例
例:保存しようとしたが該当するフォルダが無いので保存ファイル単位でエラーメッセージが表示された。
001 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages aa.pdf ¥save¥ABC
002 I/O Error: Couldn't open image file '¥save¥ABC-000.pbm'
003 I/O Error: Couldn't open image file '¥save¥ABC-001.pbm'
004 I/O Error: Couldn't open image file '¥save¥ABC-002.ppm'
005 I/O Error: Couldn't open image file '¥save¥ABC-003.ppm'
006 I/O Error: Couldn't open image file '¥save¥ABC-004.ppm'
例: -list オプションで表示されたエラーメッセージ。メッセージの原因は不明。
001 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages -list aa.pdf
002 Syntax Error: Missing language pack for 'Adobe-Japan1' mapping
003 Syntax Error: Unknown font tag 'R15'
004 Syntax Error (3325): No font in show/space
005 Syntax Error: Unknown font tag 'R15'
006 Syntax Error (3390): No font in show/space
007 Syntax Error: Unknown font tag 'R15'
例: -opw , -upw でパスワードを間違えた時:
エラーメッセージは表示されず -help オプション指定と同じ扱いになる。
注意事項
- デフォルトの保存先フォルダは pdfimages.exe の実行フォルダです。よって実行後は別のフォルダへ移動するか、保存先フォルダを指定する必要が有ります。
- 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」になる。
001 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages aa.pdf ¥save¥ABC
002 I/O Error: Couldn't open image file '¥save¥ABC-000.pbm'
003 I/O Error: Couldn't open image file '¥save¥ABC-001.pbm'
004 I/O Error: Couldn't open image file '¥save¥ABC-002.ppm'
005 I/O Error: Couldn't open image file '¥save¥ABC-003.ppm'
006 I/O Error: Couldn't open image file '¥save¥ABC-004.ppm'
007
008 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages aa.pdf \save\ABC
009 I/O Error: Couldn't open image file '¥save¥ABC-000.pbm'
010 I/O Error: Couldn't open image file '¥save¥ABC-001.pbm'
011 I/O Error: Couldn't open image file '¥save¥ABC-002.ppm'
012 I/O Error: Couldn't open image file '¥save¥ABC-003.ppm'
013 I/O Error: Couldn't open image file '¥save¥ABC-004.ppm'
014
015 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages aa.pdf save¥ABC
016
017 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages aa.pdf d:¥work¥ABC
018
019 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfimages aa.pdf d:¥work¥
020
021 I:¥Tools¥Run¥Poppler-0.45¥bin>
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
< Poppler へ戻る >