TOP > Poppler ツール > *
機能
Pdfdetach.exe はPDF(Portable Document Format)ファイルからの埋め込みファイル(添付ファイル)の一覧表示、又は抽出します。
注記:PDFファイルへ添付ファイルを追加する機能は無いです。
Help の内容
001 I:¥Tools¥Run¥Poppler-0.45¥bin>pdfdetach -h
002 pdfdetach version 0.45.0
003 Copyright 2005-2016 The Poppler Developers - http://poppler.freedesktop.org
004 Copyright 1996-2011 Glyph & Cog, LLC
005 Usage: pdfdetach [options] <PDF-file>
006 -list : list all embedded files
007 -save <int> : save the specified embedded file
008 -saveall : save all embedded files
009 -o <string> : file name for the saved embedded file
010 -enc <string> : output text encoding name
011 -opw <string> : owner password (for encrypted files)
012 -upw <string> : user password (for encrypted files)
013 -v : print copyright and version info
014 -h : print usage information
015 -help : print usage information
016 --help : print usage information
017 -? : print usage information
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
形式
pdfdetach [options] <PDF-file>
オプション
-list
PDFファイルに埋め込まれたすべてのファイルを一覧表示します。ファイル名は「-enc」スイッチで指定されたテキストのエンコーディングに変換されます。
>pdfdetach -list a-de-001.pdf
2 embedded files
1: Qpdf-004.xls
2: pdfdetach.txt
日本語のファイル名の添付ファイルがある時、文字化けを起こします。
>pdfdetach -list a-de-002.pdf
3 embedded files
1: Qpdf-004.xls
2: pdfdetach.txt
3: 繧ウ繝槭Φ繝峨Λ繧、繝ウ繝シ菴ソ逕ィ萓・txt
日本語の言語ファイルがインストールできれば、解消できるかもしれませんが。
-save number
埋め込まれたファイルを保存します。「-list」で表示された番号を「-save 」の後に指定します。保存時のファイル名はデフォルトでは埋め込まれたファイル名が使われます。ファイル名は「-o」スイッチで変更することもできます。
1番目の「Qpdf-004.xls」を保存する場合。フルパスも指定できます。
>pdfdetach -save 1 a-de-001.pdf in.pdf -o out.pdf
2番目を別名「AAA.txt」で保存する場合。
>pdfdetach -save 2 -o aaa.txt a-de-001.pdf
-saveall
埋め込まれたファイルを全て保存します。保存時のファイル名は「-list」で表示されたファイル名が使われます。保存先フォルダは「-o」スイッチで変更することもできます。
>pdfdetach -saveall a-de-001.pdf
カレントフォルダにある「old」 フォルダに保存する場合。
>pdfdetach -saveall -o old a-de-001.pdf
保存先フォルダをフルパス「D:¥work」で指定する場合。
>pdfdetach -saveall -o d:¥wotk a-de-001.pdf
-o path
-save では別名のファイル名で保存する時のファイル名を指定します。またフルパスでの指定も出来ます。
-savaeall オプションで保存先フォルダを変更する時のフォルダ名を指定します。例は -saveall を参照してください。
-enc encoding-name
埋め込まれたファイル名のテキスト出力に使用するエンコーディングを設定します。デフォルト「UTF-8」で設定されいます。
-opw password
PDFファイルの「オーナーパスワード」を指定します。
-upw password
PDFファイルの「ユーザパスワード」を指定します。
-v
著作権とバージョン情報を表示します。
-h , -help , --help , -?
使用方法の情報を表示します。
Pdfdetach を使ったVBA関数
VBA関数からの起動
以下のVBA関数を利用してPoppler のPdfdetach.exe をコマンドライン起動できます。
-opw と -upw のセット時の注意点
PDFがユーザーパスワードとオーナーパスワードをどのような組み合わせで持っているかによって、-opw と -upw のセット方法に少しだけ注意点が必要です。以下に例で紹介します。
ユーザーパスワードは「 UP 」、オーナーパスワード「 OP 」とします。
エラーとは「Command Line Error: Incorrect password」です。
- 例① : PDFがUP,OPを持っている場合。
- 「-opw UP」でエラー
- 「-upw UP」で正常
- 「-opw OP」で正常
- 「-upw UP」でエラー
- 「-opw OP -upw OP」で正常
- 「-upw OP -opw OP」でエラー
- オプション無しはエラー
- 例② : PDFがOPだけを持っている場合。
- 「-upw OP」でエラー
- 「-opw OP」で正常
- オプション無しは正常
- 例③ : PDFがUPだけを持っている場合。
- 「-upw UP」で正常
- 「-opw UP」で正常
- オプション無しはエラー
えっ?これを正常で扱ってもイイの?、と思える箇所がいくつか有ります。
エラーメッセージの表示例
例:添付ファイルがゼロ件の時。
001 >pdfdetach -list in1.pdf
002 0 embedded files
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
例: ユーザーパスワード(文書を開くパスワード) を def で設定したPDFを開く時のエラーメッセージです。オプション「-opw」でパスワードを指定するとエラーは消えます。
001 >pdfdetach -list a-de-006.pdf
002 Command Line Error: Incorrect password
003
004 >pdfdetach -list -opw def a-de-006.pdf
005 2 embedded files
006 1: Qpdf-004.xls
007 2: pdfdetach.txt
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
例: 「添付ファイル開くパスワード」を open にした場合です。添付ファイルが2つ有るのでエラーメッセージが2つの4行表示されます。 -upw でも -opw でもパスワードは受け付けませんでした。
001 >pdfdetach -saveall -upw open a-de-003.pdf
002 Syntax Error (188739): Can't revert non decrypt streams
003 Syntax Error (188741): Unknown compression method in flate stream
004 Syntax Error (187194): Can't revert non decrypt streams
005 Syntax Error (187196): Unknown compression method in flate stream
006
007 >pdfdetach -saveall -opw open a-de-003.pdf
008 Syntax Error (188739): Can't revert non decrypt streams
009 Syntax Error (188741): Unknown compression method in flate stream
010 Syntax Error (187194): Can't revert non decrypt streams
011 Syntax Error (187196): Unknown compression method in flate stream
Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
注意事項
- PDFの添付ファイルを開いたり、取り出すのに専用のパスワードが掛けれます。その「添付ファイルを開くパスワード」が掛けられると、pdfdetach.exe の「 -save 」又は「 -saveall 」でも保存は出来ません。「-opw」も「-upw」もこれには対応してないです。(テスト結果より)
備考
- 「-upw xxxx」「-opw xxxx」オプションをコマンドの最後に入れてもOKです。
- 機能のベースとなっているXpdf では「-cfg」オプションが有りますが、Popplerは未サポートみたいです。「-cfg」オプションはxpdffcファイルん定義パスを指定するオプションです。つまりPopplerが未サポートと言うことは、言語ファイルも未サポートと言う事になります。
動作確認の環境
- Windows 10 64bit Pro
- Microsoft Office 2007 Excel 32bit
< Poppler へ戻る >