【 pdfimages 】コマンド――PDFファイルから画像を抽出する:Linux基本コマンドTips(287)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、PDFファイルから画像を抽出する「pdfimages」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、PDFファイルから画像を抽出する「pdfimages」コマンドです。
pdfimagesコマンドとは?
「pdfimages」はPDFファイルに埋め込まれている画像を抽出するコマンドです。
なお、PDFファイルからテキストを抽出するには、「pdftotxt」コマンド(連載第286回)を使います。
pdfimagesコマンドの書式
pdfimages [オプション] PDFファイル [出力ファイル名の接頭辞]
※[ ]は省略可能な引数を示しています。
pdfimagesの主なオプション
短いオプション | 意味 |
---|---|
-f ページ番号 | 開始ページを指定する |
-l ページ番号 | 終了ページを指定する |
-j | JPEG形式で出力する |
-png | PNG形式で出力する |
-tiff | TIFF形式で出力する |
-p | 出力ファイル名にページ番号を含める |
-list | 画像のリストを表示する |
-opw パスワード | PDFのオーナーパスワードを指定する |
-upw パスワード | PDFのユーザーパスワードを指定する |
-q | エラーメッセージを出力しない |
PDFファイルから画像を抽出する
「pdfimages PDFファイル 出力ファイル接頭辞」で、PDFファイルから画像を抽出し、保存します(画面1、画面2、画面3)。
例えば「pdfimages sample.pdf image」と実行すると、sample.pdfに含まれている画像を「image-000.ppm、image-001.ppm、image-002.ppm……」という名前で保存します。出力する範囲を指定したい場合は、「-f 開始ページ」と「-l 終了ページ」を指定します。
デフォルトの出力形式はPNM形式です(※1)。「-j」オプションを使うと、JPEG形式で出力します。
※1 PNM(Portable aNyMap、Netpbm形式とも言う)は3種類のデータ形式からなる画像フォーマット。拡張子は「.pbm(モノクロ)」「pgm(グレースケール)」「ppm(フルカラー)」。
コマンド実行例
pdfimages sample.pdf image
(sample.pdfから画像を抽出し、image-連続番号.拡張子という名前のPNM形式で保存する)(画面1)
pdfimages -j sample.pdf image
(sample.pdfから画像を抽出し、image-連続番号.jpgという名前のJPEG形式で保存する)
画面2 PDFファイルの例 Webページ(https://ja.wikipedia.org/wiki/Portable_Document_Format)を「wkhtmltopdf」コマンドでPDF化したもの)
PDFファイルに含まれている画像を確認する
「-list」オプションを使うと、PDFファイルに含まれている画像の情報を一覧表示できます(画面4)。
画面4にある「smask」は、「画像マスク」という意味です。PDFファイルではimageとsmaskを組み合わせた状態で表示されています。
コマンド実行例
pdfimages -list sample.pdf
(PDFファイルに含まれている画像の情報を一覧表示する)
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.