Web便利ノート
cman.jp cman.jp > Web便利ノート > PDF > 解析・変換 > 添付ファイル取り出し
広告
広告
広告

pdfdetach - PDF内の添付ファイルを取り出す

フリーソフトPopplerのpdfdetachコマンドを利用するとPDFファイル内に添付されているファイルを取り出すことが出来ます。

pdfdetach

広告

pdfdetach の詳細

PopplerとはPDFビューア(XpdfReader)やPDF解析・変換ツールのフリーソフトです。PopplerはXpdf(フリーソフト)をベースとして機能を拡張して提供されています。
ソースコードも提供されているライブラリとなります。コマンドライン実行のため、VBAや他プログラムからも利用可能となります。

コマンド
pdfdetach [options] <PDF-file>
オプション
-list 添付されているファイルの数と一覧を表示する
-save <int> 「-list」で表示された一覧の番号を指定して添付ファイルを取り出す
-saveall 添付されているすべてのファイルを取り出す
-o <string> 取り出したファイルのファイル名を指定する
-enc <string> 取り出しするファイル名の文字コードを指定する
(例)「UTF-8」「Shift-JIS」 デフォルトは「UTF-8」
encの一覧は「pdfinfo -listenc」で確認可能
-opw <string> 対象PDFにオーナーパスワードが指定されている場合にパスワードを指定する
-upw <string> 対象PDFにユーザーパスワードが指定されている場合にパスワードを指定する
-v バージョンとコピーライトを表示する
-h コマンドの使用方法を表示する
ページTOP

pdfdetach 実行例

PDF(添付ファイル無し)にPDFファイルとテキストファイルを添付するサンプルとしています。

「-list」 添付ファイルの数と一覧を表示

>pdfdetach  -list  sample_attach_after.pdf
2 embedded files
1: add_PDF.pdf
2: add_TEXT.txt

「sample_attach_after.pdf」内に 「add_PDF.pdf」 「add_TEXT.txt」 の2ファイル添付されている。

ページTOP

「-save <int>」 ファイル番号を指定して添付ファイルを取り出す

>rem /*--- 実行前のディレクトリ確認 ---*/
>dir /b
sample_attach_after.pdf

>rem /*--- PDF内の添付ファイル一覧表示 ---*/
>pdfdetach  -list  sample_attach_after.pdf
2 embedded files
1: add_PDF.pdf
2: add_TEXT.txt

>rem /*--- No.2の添付ファイルを取り出し ---*/
>pdfdetach -save 2 sample_attach_after.pdf

>rem /*--- 実行後のディレクトリ確認 ---*/
>dir /b
add_TEXT.txt
sample_attach_after.pdf

「sample_attach_after.pdf」に添付されているファイルリストNo.2の 「add_TEXT.txt」 が取り出されている。

ページTOP

「-saveall」 添付ファイルを全て取り出す

>rem /*--- 実行前のディレクトリ確認 ---*/
>dir /b
sample_attach_after.pdf

>rem /*--- PDF内の添付ファイル一覧表示 ---*/
> pdfdetach  -list  sample_attach_after.pdf
2 embedded files
1: add_PDF.pdf
2: add_TEXT.txt

>rem /*--- 添付ファイルを全て取り出し ---*/
>pdfdetach -saveall sample_attach_after.pdf

>rem /*--- 実行後のディレクトリ確認 ---*/
>dir /b
add_PDF.pdf
add_TEXT.txt
sample_attach_after.pdf

「sample_attach_after.pdf」に添付されているファイル 「add_PDF.pdf」 「add_TEXT.txt」 が取り出されている。

ページTOP

「-o」 取り出しファイル名を指定

>rem /*--- 実行前のディレクトリ確認 ---*/
>dir /b
sample_attach_after.pdf

>rem /*--- PDF内の添付ファイル一覧表示 ---*/
>pdfdetach  -list  sample_attach_after.pdf
2 embedded files
1: add_PDF.pdf
2: add_TEXT.txt

>rem /*--- 添付ファイルを全て取り出し ---*/
>pdfdetach -save 2  -o aaa.txt sample_attach_after.pdf

>rem /*--- 実行後のディレクトリ確認 ---*/
>dir /b
aaa.txt
sample_attach_after.pdf

「sample_attach_after.pdf」に添付されているファイルリストNo.2の 「add_TEXT.txt」のファイル名が 「aaa.txt」 に変更され取り出されている。

ページTOP
実行で使用したファイル
1 sample_attach_after.pdf PDFファイル(添付あり) 216KB
2 add_PDF.pdf 取り出した添付PDFファイル 114KB
3 add_TEXT.txt 取り出した添付テキストファイル 1KB
上記ファイルにはマクロ等は含まれていません。

【注意】
一部のブラウザではPDF内の添付ファイルを開くことが出来ません。
この場合はダウンロードしてAcrobat Reader DC等でPDFを開いてください。

ページTOP
広告

使用したバージョンなど

Windows版を使用しています。

pdfdetach version 24.08.0
Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdfdetach [options] <PDF-file>
  -list             : list all embedded files
  -save <int>       : save the specified embedded file (file number)
  -savefile <string>: save the specified embedded file (file name)
  -saveall          : save all embedded files
  -o <string>       : file name for the saved embedded file
  -enc <string>     : output text encoding name
  -opw <string>     : owner password (for encrypted files)
  -upw <string>     : user password (for encrypted files)
  -v                : print copyright and version info
  -h                : print usage information
  -help             : print usage information
  --help            : print usage information
  -?                : print usage information
ページTOP

その他のPopplerツール機能

主な機能 概要
pdfattach PDFファイルに添付ファイルを埋め込みします
pdffonts PDFファイルで使用されているフォントやフォントの埋め込み有無を調べる
pdfimages PDFファイルで使用(埋め込み)されている画像を抽出する
pdfinfo PDFファイルの情報(作成者、作成日時、ページ数など)を表示する
pdfseparate PDFファイルを1ページごとに分割する
pdftocairo PDFファイルを画像に変換する(Cairoベクターグラフィックスを使用)
pdftohtml PDFをHTML形式に変換する
pdftoppm PDFファイルを画像に変換する
pdftops PDFファイルをPostScriptファイルに変換する
pdftotext PDFファイルからテキストを抽出する
pdfunite 複数のPDFファイルをページ結合する
ページTOP
広告
QrCode
このページのURL
スマートフォン・タブレット運営:株式会社シーマン