Poppler:Pdfdetach の使い方

TOP > Poppler ツール > *


Rally Japan

機能

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」です。

  1. 例① : PDFがUP,OPを持っている場合。
    • 「-opw UP」でエラー
    • 「-upw UP」で正常
    • 「-opw OP」で正常 
    • 「-upw UP」でエラー
    • 「-opw OP -upw OP」で正常
    • 「-upw OP -opw OP」でエラー
    • オプション無しはエラー
  2. 例② : PDFがOPだけを持っている場合。
    • 「-upw OP」でエラー
    • 「-opw OP」で正常
    • オプション無しは正常
  3. 例③ : 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編)
 

注意事項

  1. PDFの添付ファイルを開いたり、取り出すのに専用のパスワードが掛けれます。その「添付ファイルを開くパスワード」が掛けられると、pdfdetach.exe の「 -save 」又は「 -saveall 」でも保存は出来ません。「-opw」も「-upw」もこれには対応してないです。(テスト結果より)
    Poppler:Pdfdetach の使い方

備考

  • 「-upw xxxx」「-opw xxxx」オプションをコマンドの最後に入れてもOKです。
  • 機能のベースとなっているXpdf では「-cfg」オプションが有りますが、Popplerは未サポートみたいです。「-cfg」オプションはxpdffcファイルん定義パスを指定するオプションです。つまりPopplerが未サポートと言うことは、言語ファイルも未サポートと言う事になります。

動作確認の環境

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

< Poppler へ戻る >

コメントを残す

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

CAPTCHA


★ 文章での質問は難しいですよネ。でも、早く解決して、家に帰りたい。


SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください