【 pdftoppm 】コマンド――PDFファイルを画像に変換する:Linux基本コマンドTips(288)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、PDFファイルを画像に変換する「pdftoppm」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、PDFファイルを画像に変換する「pdftoppm」コマンドです。
pdftoppmコマンドとは?
「pdftoppm」はPDFファイルをページ単位で画像ファイルに変換するコマンドです。
なお、PDFファイル全体を変換するのではなく、PDFファイル内の画像だけを抽出するには、「pdfimages」コマンド(連載第287回)を使います。
pdftoppmコマンドの書式
pdftoppm [オプション] PDFファイル [出力ファイル名の接頭辞]
※[ ]は省略可能な引数を示しています。
pdftoppmの主なオプション
短いオプション | 意味 |
---|---|
-f ページ番号 | 開始ページを指定する |
-l ページ番号 | 終了ページを指定する |
-o | 奇数ページだけを出力する |
-e | 偶数ページだけを出力する |
-singlefile | 先頭ページだけを出力し、出力ファイル名に番号を付けない |
-cropbox | ページ全体(media box/ページサイズ)ではなく表示範囲(crop box/トリミングサイズ)を対象にする |
-mono | モノクロで出力する(PBM形式) |
-gray | グレースケールで出力する(PGM形式) |
-png | PNG形式で出力する |
-jpeg | JPEG形式で出力する |
-tiff | TIFF形式で出力する |
-tiffcompression 圧縮方式 | TIFFの圧縮形式を「none」「packbits」「jpeg」「lzw」「deflate」のいずれかで指定する |
-opw パスワード | PDFのオーナーパスワード |
-upw パスワード | PDFのユーザーパスワード |
-q | エラーメッセージを出力しない |
pdftoppmの主なオプション(サイズと解像度)
短いオプション | 意味 |
---|---|
-scale-to 数値 | 画像サイズを指定する(縦または横の大きい方が指定したピクセル数になる) |
-scale-to-x 数値 | 画像サイズ(横) |
-scale-to-y 数値 | 画像サイズ(縦) |
-r 数値 | DPIの値(デフォルトは150) |
-rx 数値 | 横方向のDPI値(デフォルトは150) |
-ry 数値 | 縦方向のDPI値(デフォルトは150) |
pdftoppmの主なオプション(トリミング)
短いオプション | 意味 |
---|---|
-x 数値 | トリミング開始位置(左上隅)のx座標 |
-y 数値 | トリミング開始位置(左上隅)のy座標 |
-W 数値 | トリミングする幅(デフォルトは0) |
-H 数値 | トリミングする高さ(デフォルトは0) |
-sz 数値 | トリミングするサイズ(WとHを同時に指定する) |
pdftoppmの主なオプション(フォント)
短いオプション | 意味 |
---|---|
-freetype no | ラスタライズを無効にする(※1) |
-aa no | アンチエイリアスを無効にする(※1) |
-aaVector no | ベクターアンチエイリアスを無効にする(※1) |
※1 いずれもデフォルトはyes(有効)。明示的に有効にする場合はyesを指定する。
PDFファイルを画像ファイルに変換する
「pdftoppm PDFファイル 出力ファイル接頭辞」で、PDFファイルの各ページを画像に変換して保存します。
例えば「pdftoppm sample.pdf image」では、sample.pdfの各ページを「image-1.ppm、image-2.ppm、image-3.ppm……」という名前で保存します。
デフォルトの画像出力形式はPNM形式(※2)です。「-png」オプションではPNG形式、「-jpeg」オプションではJPEG形式で保存できます(画面1、画面2、画面3)。
※2 PNM(Portable aNyMap)形式をNetpbm形式とも言う。拡張子は「.pbm(モノクロ)」「pgm(グレースケール)」「ppm(フルカラー)。pdftoppmのデフォルト出力形式は「.ppm」で、「-mono」オプションを付けると「.bpm」、「-gray」オプションを付けると「.pgmd」で出力する。
コマンド実行例
pdftoppm sample.pdf image
(sample.pdfをページ単位で画像に変換し、image-ページ番号.ppmという名前で出力する)
pdftoppm -png sample.pdf image
(sample.pdfをページ単位で画像に変換し、image-ページ番号.pngという名前で出力する)(画面1)
画面2 PDFファイルの例 Webページ(https://ja.wikipedia.org/wiki/Portable_Document_Format)を「wkhtmltopdf」コマンドでPDF化したもの)
出力サイズを調整する
「-scale-to 数値」オプションで、出力サイズを指定できます(画面4、画面5)。例えば「-scale-to 200」とした場合、縦または横の大きい方の長さが200ピクセルとなるように調整して出力します。画像の縦横比は変化しません。
横(x方向)だけを調整したい場合は「-scale-to-x」オプションを使い、縦(y方向)だけ調整したい場合は「-scale-to-y」オプションを使用します。これらのオプションを指定した場合は、縦横比が変化します。
コマンド実行例
pdftoppm -scale-to 200 sample.pdf thumbnail
(縦または横の最大サイズが200ピクセルになるよう縮小してthumbnail-ページ番号という名前で保存する)(画面4)
ページの一部を切り取って画像に保存する
ページの一部を切り取って画像に保存にしたい場合は、「-x 横の開始位置 -y 縦の開始位置 -W 幅 -H 高さ」として、位置や幅などをそれぞれピクセル単位で指定します(画面6、画面7。縦横を同じサイズにする場合は「-W」と「-H」の代わりに「-sz」を使用できます。
コマンド実行例
pdftoppm -x 20 -y 100 -W 200 -H 300 sample.pdf crop
(左上の座標(20,100)の位置から200×300ピクセルになるよう切り取って、crop-ページ番号.ppmという名前で保存する)
pdftoppm -x 20 -y 100 -sz 200 sample.pdf crop
(左上の座標(20,100)の位置から200×200ピクセルになるよう切り取って、crop-ページ番号.ppmという名前で保存する)(画面6)
筆者紹介
西村 めぐみ(にしむら めぐみ)
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.