Web便利ノート
cman.jp cman.jp > Web便利ノート > PDF > 解析・変換 > PDF→画像(ppm)
広告
広告
広告

pdftoppm - PDFの画像変換(ppm)

フリーソフトPopplerのpdftoppmコマンドを利用するとPDFを画像に変換することが出来ます。

pdftoppm

広告

pdftoppm の詳細

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

コマンド
pdftoppm [options] [PDF-file [PPM-file-prefix]]
オプション
-o PDFファイルの奇数ページのみを対象とする
-e PDFファイルの偶数ページのみを対象とする
-singlefile PDFファイルの最初のページのみを対象とする
-scale-dimension-before-rotation 回転したPDFの場合は、回転前に寸法を変更します
-r <fp> 画像変換する解像度を1インチあたりのピクセル数を指定します(縦横)
-rx <fp> 画像変換する解像度を1インチあたりのピクセル数を指定します(横)
-ry <fp> 画像変換する解像度を1インチあたりのピクセル数を指定します(縦)
-scale-to <int> 指定したピクセルサイズ内に収まるよう画像変換します(縦横)
-scale-to-x <int> 指定したピクセルサイズ内に収まるよう画像変換します(横)
-scale-to-y <int> 指定したピクセルサイズ内に収まるよう画像変換します(縦)
-x <int> トリミング(切り取り)する位置を指定します(横位置)
-y <int> トリミング(切り取り)する位置を指定します(縦位置)
-W <int> トリミング(切り取り)する位置を指定します(幅)
-H <int> トリミング(切り取り)する位置を指定します(高さ)
-sz <int> トリミング(切り取り)する範囲(ボックス)を指定します
-cropbox クロップボックスをベースにPDFの画像化されます
-mono PDFをモノクロ画像で出力する
-gray PDFをグレー画像で出力する
-displayprofile <string> ディスプレイとして使用するICCカラープロファイルを指定
-defaultgrayprofile <string> DefaultGrayとして使用する ICC カラープロファイルを指定
-defaultrgbprofile <string> DefaultRGB として使用する ICC カラープロファイルを指定
-defaultcmykprofile <string> DefaultCMYKとして使用する ICC カラープロファイルを指定
-sep <string> 名前とページ番号の間の 区切り文字を指定します
-forcenum ページが1ページしかない場合でもページ番号を強制する
-png PDFをページ単位にPNG画像に変換します
-jpeg PDFをページ単位にJPEG画像に変換します
-jpegcmyk PDFをページ単位にCMYK形式のJPEG画像に変換します
-jpegopt <string> JPEG画像の画像品質も指定します
-overprint オーバープリント(色を重ねて印刷)を有効にする
-tiff PDFをページ単位にTIFF画像に変換します
-tiffcompression <string> TIFF画像の画像圧縮の指定します
-freetype <string> FreeTypeフォントラスタライザを有効にする
-thinlinemode <string> 細線モードを設定します
-aa <string> フォントのアンチエイリアシングを有効にする
-aaVector <string> ベクターアンチエイリアシングを有効にする
-progress 進行状況情報を表示する
-q 変換時のメッセージ/エラーメッセージを非表示にします
-f <int> 解析を行うPDFの開始ページを指定します
-l <int> 解析を行うPDFの終了ページを指定します
-opw <string> オーナーパスワード設定されている場合にパスワードを指定します
-upw <string> ユーザーパスワード設定されている場合にパスワードを指定します
-v バージョンとコピーライトを表示します
-h コマンドの使用方法を表示します
ページTOP
広告
ページTOP

pdftoppm 実行例

オプションなし

PDFをPPM(Portable PixMap file format)形式)ファイルに変換する。
PPM形式は、LINUXで多く利用されている画像形式のため、通常は「-png」「-jpeg」をオプション付加して利用する。

>pdftoppm Sample_toppm.pdf none/out_none

>dir none
     6,530,159 out_none-1.ppm
     6,530,159 out_none-2.ppm
>
ページTOP

「-e」 PDFファイルの偶数ページのみを対象とする

>pdftoppm -e -png Sample_toppm.pdf e/out_e

>dir e
     62,718 out_e-2.png
>
ページTOP

「-o」 PDFファイルの奇数ページのみを対象とする

>pdftoppm -o -png Sample_toppm.pdf o/out_o

>dir o
     268,227 out_o-1.png
>
ページTOP

「-singlefile」 PDFファイルの最初のページのみを対象とする

>pdftoppm -singlefile -png Sample_toppm.pdf singlefile/out_singlefile

>dir singlefile
     268,227 out_singlefile.png
>
ページTOP

「-scale-dimension-before-rotation」

for rotated pdf, resize dimensions before the rotation
回転したPDFの場合は、回転前に寸法を変更します

>pdftoppm -scale-dimension-before-rotation -png Sample_toppm.pdf scale-dimension-before-rotation/out_scale-dimension-before-rotation

>dir scale-dimension-before-rotation
     268,227 out_scale-dimension-before-rotation-1.png
      62,718 out_scale-dimension-before-rotation-2.png
>
ページTOP

「-r <fp>」, 「-rx <fp>」, 「-ry <fp>」
変換後画像の解像度を指定

PDFを画像に変換した後の解像度を1インチあたりのピクセル数を指定します。(デフォルト150PPI)
「-r」:縦横,「-rx」:横,「-ry」:縦

>pdftoppm -r  50 -png Sample_toppm.pdf r/out_r
>pdftoppm -rx 50 -png Sample_toppm.pdf r/out_rx
>pdftoppm -ry 50 -png Sample_toppm.pdf r/out_ry
    
>dir r
      64,563 out_r-1.png
      17,512 out_r-2.png
     100,017 out_rx-1.png
      34,813 out_rx-2.png
     106,234 out_ry-1.png
      33,488 out_ry-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
out_ry-1.png (104KB)
ページTOP

「-scale-to <int>」, 「-scale-to-x <int>」, 「-scale-to-y <int>」
画像の出力サイズを指定

指定したピクセルサイズ内に収まるようにPDFを画像に変換します。
「-scale-to」:縦横ボックスサイズ,「-scale-to-x」:横サイズ,「-scale-to-y」:縦サイズ

>pdftoppm -scale-to   400 -png Sample_toppm.pdf scale-to/out_scale-to
>pdftoppm -scale-to-x 400 -png Sample_toppm.pdf scale-to/out_scale-to-x
>pdftoppm -scale-to-y 400 -png Sample_toppm.pdf scale-to/out_scale-to-y

>dir scale-to
     35,797 out_scale-to-1.png
     10,818 out_scale-to-2.png
     97,654 out_scale-to-x-1.png
     28,331 out_scale-to-x-2.png
     79,367 out_scale-to-y-1.png
     33,029 out_scale-to-y-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-x <int>」, 「-y <int>」, 「-W <int>」, 「-H <int>」
トリミング(切り取り)する位置を指定

トリミング(切り取り)する位置を指定します。
「-x」:横の開始位置,「-y」:縦の開始位置,「-W」:横幅,「-H」:高さ

>pdftoppm -x 350 -png Sample_toppm.pdf x/out_x
>pdftoppm -y 350 -png Sample_toppm.pdf x/out_y
>pdftoppm -W 350 -png Sample_toppm.pdf x/out_W
>pdftoppm -H 350 -png Sample_toppm.pdf x/out_H
>pdftoppm -x 400 -y 585 -W 440 -H 575 -png Sample_toppm.pdf x/out_xyWH
    
>dir x
       7,714 out_H-1.png
      22,599 out_H-2.png
       8,370 out_W-1.png
       2,993 out_W-2.png
     254,530 out_x-1.png
      60,156 out_x-2.png
     183,485 out_xyWH-1.png
       9,735 out_xyWH-2.png
     262,048 out_y-1.png
      40,390 out_y-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
out_x-1.png (249KB)
out_y-1.png (256KB)
ページTOP

「-sz <int>」 トリミング(切り取り)する範囲(ボックス)を指定

トリミング(切り取り)する範囲(ボックス)を指定します。
「-W」「-H」を両方したのと同等の機能となります。

>pdftoppm -x 330 -y 585 -sz 575 -png Sample_toppm.pdf sz/out_sz

>dir sz
     189,013 out_sz-1.png
      12,751 out_sz-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
out_sz-1.png (185KB)
ページTOP

「-cropbox」 クロップボックスをベースに画像化する

メディアボックスではなく、クロップボックスをベースにPDFの画像化が行われます。

>pdftoppm -cropbox -png Sample_toppm.pdf cropbox/out_cropbox

>dir cropbox
     268,227 out_cropbox-1.png
      62,718 out_cropbox-2.png
>
ページTOP

「-hide-annotations」 注釈を表示しない

>pdftoppm -hide-annotations -png Annotation.pdf hide-annotations/out_hide-annotations
>pdftoppm                   -png Annotation.pdf hide-annotations/out_hide-annotations_none

>dir hide-annotations
     28,315 out_hide-annotations-1.png
     29,022 out_hide-annotations_none-1.png
>
元PDF 変換後画像
Annotation.pdf (36KB)
ページTOP

「-mono」 PDFをモノクロ画像で出力

>pdftoppm -mono -png Sample_toppm.pdf mono/out_mono

>dir mono
     43,107 out_mono-1.png
     25,015 out_mono-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-gray」 PDFをグレー画像で出力

>pdftoppm -gray -png Sample_toppm.pdf gray/out_gray

>dir gray
     205,670 out_gray-1.png
      60,059 out_gray-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-sep <string>」 ページ番号の区切り文字指定

名前とページ番号の間の 1 文字の区切り文字
デフォルトは「-」

>pdftoppm -sep "#" -png Sample_toppm.pdf sep/out_sep

>dir sep
     268,227 out_sep#1.png
      62,718 out_sep#2.png
>
ページTOP

「-forcenum <string>」 ページ番号を強制付与する

ページが1ページしかない場合でもページ番号を強制する

>pdftoppm -singlefile -forcenum -png Sample_toppm.pdf forcenum/out_forcenum
>pdftoppm -singlefile           -png Sample_toppm.pdf forcenum/out_forcenum_none

>dir forcenum
     268,227 out_forcenum-1.png
     268,227 out_forcenum_none.png
>
ページTOP

「-png」 PDFをページ単位にPNG画像に変換

>pdftoppm -png Sample_toppm.pdf png/out_png

>dir png
     268,227 out_png-1.png
      62,718 out_png-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-jpeg」 PDFをページ単位にJPEG画像に変換
「-jpegopt <string>」 画像品質の指定

「jpegopt」で画像品質も指定できます。

>pdftoppm -jpeg                                  Sample_toppm.pdf jpeg\out_jpeg
>pdftoppm -jpeg -jpegopt quality=7,progressive=n Sample_toppm.pdf jpeg/out_jpegopt


>dir jpeg
     101,477 out_jpeg-1.jpg
      86,383 out_jpeg-2.jpg
      48,022 out_jpegopt-1.jpg
      47,907 out_jpegopt-2.jpg
>

「jpgopt」の指定内容

パラメータ 設定値
quality JPEGの画像品質(0~100)
progressive プログレッシブの有無(y:あり, n:なし)
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-jpegcmyk」 PDFをページ単位にCMYK形式のJPEG画像に変換

>pdftoppm -jpegcmyk -jpeg Sample_toppm.pdf jpeg/out_jpegcmyk


>dir jpeg
     93,936 out_jpegcmyk-1.jpg
     78,116 out_jpegcmyk-2.jpg
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-overprint」 オーバープリント(色を重ねて印刷)を有効にする

>pdftoppm -overprint -png Sample_toppm.pdf overprint/out_overprint

>dir overprint
     300,393 out_overprint-1.png
      63,160 out_overprint-2.png
>
ページTOP

「-tiff」 PDFをページ単位にTIFF画像に変換
「-tiffcompression <string>」 画像圧縮を指定

「tiffcompression」で画像圧縮の指定も可能です。

>pdftoppm -tiff                      Sample_toppm.pdf tiff/out_tiff
>pdftoppm -tiffcompression lzw -tiff Sample_toppm.pdf tiff/out_tiffcompression

>dir tiff
     6,535,608 out_tiff-1.tif
     6,537,792 out_tiff-2.tif
       234,060 out_tiff_lzw-1.tif
       279,424 out_tiff_lzw-2.tif
>

「tiffcompression」の指定内容

パラメータ 設定値
tiffcompression 圧縮形式(「none」「packbits」「jpeg」「lzw」「deflate」)
ページTOP

「-freetype <string>」 FreeTypeフォントラスタライザを指定

FreeTypeフォントラスタライザを有効にする(「yes」「no」)。

>pdftoppm -freetype yes -png Sample_toppm.pdf freetype/out_freetype_y
>pdftoppm -freetype no  -png Sample_toppm.pdf freetype/out_freetype_n

>dir jpeg
     213,072 out_freetype_n-1.png
       9,393 out_freetype_n-2.png
     268,227 out_freetype_y-1.png
      62,718 out_freetype_y-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-thinlinemode <string>」 細線モードを設定

細線モードを設定します: なし、実線、シェイプ。デフォルト: なし

>pdftoppm -thinlinemode solid -png Sample_toppm.pdf thinlinemode/out_thinlinemode_solid
>pdftoppm -thinlinemode shape -png Sample_toppm.pdf thinlinemode/out_thinlinemode_shape

>dir thinlinemode
     268,227 out_thinlinemode_shape-1.png
      62,718 out_thinlinemode_shape-2.png
     268,227 out_thinlinemode_solid-1.png
      62,718 out_thinlinemode_solid-2.png
>
ページTOP

「-aa <string>」 アンチエイリアシングを指定

フォントのアンチエイリアシングを有効にする(「yes」「no」)。

>pdftoppm -aa yes -png Sample_toppm.pdf aa/out_aa_y
>pdftoppm -aa no  -png Sample_toppm.pdf aa/out_aa_n

>dir jpeg
     221,085 out_aa_n-1.png
      16,399 out_aa_n-2.png
     268,227 out_aa_y-1.png
      62,718 out_aa_y-2.png
>
元PDF 変換後画像
Sample_toppm.pdf (32KB)
ページTOP

「-aaVector <string>」 ベクターアンチエイリアシングを指定

ベクターアンチエイリアシングを有効にする(「yes」「no」)。

>pdftoppm -aaVector no  -png Sample_toppm.pdf aaVector/out_aaVector_n
>pdftoppm -aaVector yes -png Sample_toppm.pdf aaVector/out_aaVector_y

>dir thinlinemode
     268,227 out_aaVector_n-1.png
      62,718 out_aaVector_n-2.png
     268,227 out_aaVector_y-1.png
      62,718 out_aaVector_y-2.png
>
ページTOP

「-progress」 進行状況情報を表示

>pdftoppm -progress -png Sample_toppm.pdf progress/out_progress
1 2 progress/out_progress-1.png
2 2 progress/out_progress-2.png

>dir thinlinemode
     268,227 out_progress-1.png
      62,718 out_progress-2.png
>
ページTOP

コマンド共通オプション

共通的に使用されるコマンドオプション「-f」「-l」「-enc」「-opw」「-upw」「-v」「-h」等のオプションは こちら でご確認ください。

ページTOP
広告

使用したバージョンなど

Windows版を使用しています。

pdftoppm version 24.08.0
Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdftoppm [options] [PDF-file [PPM-file-prefix]]
  -f <int>                                 : first page to print
  -l <int>                                 : last page to print
  -o                                       : print only odd pages
  -e                                       : print only even pages
  -singlefile                              : write only the first page and do not add digits
  -scale-dimension-before-rotation         : for rotated pdf, resize dimensions before the rotation
  -r <fp>                                  : resolution, in DPI (default is 150)
  -rx <fp>                                 : X resolution, in DPI (default is 150)
  -ry <fp>                                 : Y resolution, in DPI (default is 150)
  -scale-to <int>                          : scales each page to fit within scale-to*scale-to pixel box
  -scale-to-x <int>                        : scales each page horizontally to fit in scale-to-x pixels
  -scale-to-y <int>                        : scales each page vertically to fit in scale-to-y pixels
  -x <int>                                 : x-coordinate of the crop area top left corner
  -y <int>                                 : y-coordinate of the crop area top left corner
  -W <int>                                 : width of crop area in pixels (default is 0)
  -H <int>                                 : height of crop area in pixels (default is 0)
  -sz <int>                                : size of crop square in pixels (sets W and H)
  -cropbox                                 : use the crop box rather than media box
  -hide-annotations                        : do not show annotations
  -mono                                    : generate a monochrome PBM file
  -gray                                    : generate a grayscale PGM file
  -displayprofile <string>                 : ICC color profile to use as the display profile
  -defaultgrayprofile <string>             : ICC color profile to use as the DefaultGray color space
  -defaultrgbprofile <string>              : ICC color profile to use as the DefaultRGB color space
  -defaultcmykprofile <string>             : ICC color profile to use as the DefaultCMYK color space
  -sep <string>                            : single character separator between name and page number, default -
  -forcenum                                : force page number even if there is only one page
  -png                                     : generate a PNG file
  -jpeg                                    : generate a JPEG file
  -jpegcmyk                                : generate a CMYK JPEG file
  -jpegopt <string>                        : jpeg options, with format <opt1>=<val1>[,<optN>=<valN>]*
  -overprint                               : enable overprint
  -tiff                                    : generate a TIFF file
  -tiffcompression <string>                : set TIFF compression: none, packbits, jpeg, lzw, deflate
  -freetype <string>                       : enable FreeType font rasterizer: yes, no
  -thinlinemode <string>                   : set thin line mode: none, solid, shape. Default: none
  -aa <string>                             : enable font anti-aliasing: yes, no
  -aaVector <string>                       : enable vector anti-aliasing: yes, no
  -opw <string>                            : owner password (for encrypted files)
  -upw <string>                            : user password (for encrypted files)
  -q                                       : don't print any messages or errors
  -progress                                : print progress info
  -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ファイルに添付ファイルを埋め込みします
pdfdetach PDF内に添付(埋め込み)されているファイルの一覧表示や抽出を行います
pdffonts PDFファイルで使用されているフォントやフォントの埋め込み有無を調べる
pdfimages PDFファイルで使用(埋め込み)されている画像を抽出する
pdfinfo PDFファイルの情報(作成者、作成日時、ページ数など)を表示する
pdfseparate PDFファイルを1ページごとに分割する
pdftocairo PDFファイルを画像に変換する(Cairoベクターグラフィックスを使用)
pdftohtml PDFをHTML形式に変換する
pdftops PDFファイルをPostScriptファイルに変換する
pdftotext PDFファイルからテキストを抽出する
pdfunite 複数のPDFファイルをページ結合する
ページTOP
広告
QrCode
このページのURL
スマートフォン・タブレット運営:株式会社シーマン