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

pdftocairo - PDFの画像変換(cairo)

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

pdffonts

広告

pdftocairo の詳細

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

コマンド
pdftocairo [options] <PDF-file>
オプション
-png PDFをページ単位にPNG画像に変換します
-jpeg PDFをページ単位にJPEG画像に変換します
-jpegopt <string> JPEG画像の画像品質も指定します
-tiff PDFをページ単位にTIFF画像に変換します
-tiffcompression <string> TIFF画像の画像圧縮の指定します
-ps PDFをPostScript形式に変換します
-eps PDFをEPS形式に変換します
-pdf PDFをPDFに再変換します
-svg PDFをSVG形式に変換します
-print PDFを標準プリンターに出力します
-printdlg 印刷前に印刷ダイアログを表示し、PDFをプリンターに出力します
-printer <string> 印刷するプリンター名を指定して、PDFを印刷します
-setupdlg プリンタの設定ダイアログを表示後にPDFを印刷します
-o PDFファイルの奇数ページのみを対象とする
-e PDFファイルの偶数ページのみを対象とする
-singlefile 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をグレー画像で出力する
-transp PDFの白い箇所を透明として画像出力する
-antialias <string> PDFを画像に変換するときのアンチエイリアスを指定します
-icc <string> 指定したiccプロファイルが埋め込まれます
-level2 PDFをレベル2のPostScriptに変換します
-level3 PDFをレベル3のPostScriptに変換します
-origpagesizes 「-paper match」と同じ
-paper <string> 出力する用紙サイズを指定します
-paperw <int> 出力する用紙サイズの横幅と高さをポイント値で指定します(幅)
-paperh <int> 出力する用紙サイズの横幅と高さをポイント値で指定します(高さ)
-nocrop クロップボックスでのトリミングは行わない
-expand 用紙より小さいPDFページを用紙いっぱいに拡大します
-noshrink 用紙より大きいPDFページは拡大縮小しません
-nocenter 用紙より小さいサイズのPDFは中央寄せしない
-duplex DSCコメントをPostScriptファイルに追加します
-struct 論理文書構造を有効にします
-q 変換時のメッセージ/エラーメッセージを非表示にします
-f <int> 解析を行うPDFの開始ページを指定します
-l <int> 解析を行うPDFの終了ページを指定します
-opw <string> オーナーパスワード設定されている場合にパスワードを指定します
-upw <string> ユーザーパスワード設定されている場合にパスワードを指定します
-v バージョンとコピーライトを表示します
-h コマンドの使用方法を表示します
ページTOP
広告
ページTOP

pdftocairo 実行例

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

>pdftocairo -png Sample_tocairo.pdf png\out_png

>dir png
     65,620 out_png-1.png
     61,977 out_png-2.png
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

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

>pdftocairo -jpeg Sample_tocairo.pdf jpeg\out_jpeg
>pdftocairo -jpeg -jpegopt quality=10,progressive=n Sample_tocairo.pdf jpeg\out_jpegopt

>dir jpeg
     80,221 out_jpeg-1.jpg
     83,520 out_jpeg-2.jpg
     48,069 out_jpegopt-1.jpg
     49,702 out_jpegopt-2.jpg
>

「jpgopt」の指定内容

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

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

>pdftocairo -tiff Sample_tocairo.pdf tiff\out_tiff
>pdftocairo -tiff -tiffcompression lzw Sample_tocairo.pdf tiff\out_tiff_lzw

>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」)
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
out_tiff-1.tif (6.5MB)
out_tiff-2.tif (6.5MB)
ファイルサイズが大きいためサンプル無し
ページTOP

「-ps」 PDFをPostScript形式に変換

>pdftocairo -ps Sample_tocairo.pdf ps\out_ps.ps

>dir ps
     47,285 out_ps.ps
>
元PDF 変換後ファイル
Sample_tocairo.pdf (22KB)
out_ps.zip (17KB)
(ダウンロード用にZIP圧縮しています)
ページTOP

「-eps」 PDFをEPS形式に変換

(注)EPS形式に変換する1ページを指定する必要があります。
指定方法は「コマンド共通オプション」をご確認ください。

>pdftocairo -eps -f 1 -l 1 Sample_tocairo.pdf eps\out_eps.eps

>dir eps
     43,799 out_eps.eps
>
元PDF 変換後ファイル
Sample_tocairo.pdf (22KB)
(ダウンロード用にZIP圧縮しています)
ページTOP

「-pdf」 PDFをPDFに再変換

変換しても見た目は変わりませんが、PDF内の構成は変わっています。

>pdftocairo -pdf Sample_tocairo.pdf pdf\out_pdf.pdf

>dir pdf
     18,635 out_pdf.pdf
>
元PDF 変換後ファイル
Sample_tocairo.pdf (22KB)
ページTOP

「-svg」 PDFをSVG形式に変換

>pdftocairo -svg Sample_tocairo.pdf svg\out_svg.svg

>dir svg
     61,962 out_svg.svg
>
元PDF 変換後ファイル
Sample_tocairo.pdf (22KB)
(ダウンロード用にZIP圧縮しています)
ページTOP

「-print」 PDFを標準プリンターに出力

※Windowsのみ

>pdftocairo -print Sample_tocairo.pdf
>
ページTOP

「-printdlg」 印刷前に印刷ダイアログを表示し、PDFをプリンターに出力

※Windowsのみ

>pdftocairo -printdlg Sample_tocairo.pdf
>

pdftocairo

ページTOP

「-printer <string>」 印刷するプリンター名を指定してPDFを印刷

※Windowsのみ

>pdftocairo -printer PrinterA Sample_tocairo.pdf
>
ページTOP

「-setupdlg」 プリンタの設定ダイアログを表示後にPDFを印刷

※Windowsのみ

>pdftocairo -print -setupdlg Sample_tocairo.pdf
>

pdftocairo

ページTOP

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

>pdftocairo -png -o Sample_tocairo.pdf o\out_o

>dir o
     65,620 out_o-1.png
>
ページTOP

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

>pdftocairo -png -e Sample_tocairo.pdf e\out_e

>dir e
     61,977 out_e-2.png
>
ページTOP

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

>pdftocairo -png -singlefile Sample_tocairo.pdf singlefile\out_singlefile

>dir singlefile
     65,620 out_singlefile.png
>
ページTOP

「-r <fp>」, 「-rx <fp>」, 「-ry <fp>」
PDFを画像変換するときの解像度を指定

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

>pdftocairo -jpeg -r 50 Sample_tocairo.pdf r\out_r
>pdftocairo -jpeg -rx 50 Sample_tocairo.pdf r\out_rx
>pdftocairo -jpeg -ry 50 Sample_tocairo.pdf r\out_ry

>dir r
     15,574 out_r-1.jpg
     15,987 out_r-2.jpg
     32,541 out_rx-1.jpg
     32,635 out_rx-2.jpg
     37,573 out_ry-1.jpg
     38,370 out_ry-2.jpg
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

「-scale-to <int>」, 「-scale-to-x <int>」, 「-scale-to-y <int>」
指定したピクセルサイズ内に収まるようにPDFを画像に変換

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

>pdftocairo -jpeg -scale-to 500 Sample_tocairo.pdf scale-to\out_scale-to
>pdftocairo -jpeg -scale-to-x 500 Sample_tocairo.pdf scale-to\out_scale-to-x
>pdftocairo -jpeg -scale-to-y 500 Sample_tocairo.pdf scale-to\out_scale-to-y

>dir scale-to
     12,488 out_scale-to-1.jpg
     13,759 out_scale-to-2.jpg
     38,181 out_scale-to-x-1.jpg
     28,881 out_scale-to-x-2.jpg
     33,107 out_scale-to-y-1.jpg
     44,337 out_scale-to-y-2.jpg
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

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

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

>pdftocairo -jpeg -x 300 Sample_tocairo.pdf x\out_x
>pdftocairo -jpeg -y 300 Sample_tocairo.pdf x\out_y
>pdftocairo -jpeg -W 300 Sample_tocairo.pdf x\out_W
>pdftocairo -jpeg -H 300 Sample_tocairo.pdf x\out_H

>dir x
     10,246 out_H-1.jpg
     23,580 out_H-2.jpg
     13,849 out_W-1.jpg
     11,295 out_W-2.jpg
     67,380 out_x-1.jpg
     72,900 out_x-2.jpg
     70,329 out_y-1.jpg
     58,547 out_y-2.jpg
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

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

「-W」「-H」を両方したのと同等の機能となります。

>pdftocairo -jpeg -sz 700 Sample_tocairo.pdf sz\out_sz

>dir sz
     18,297 out_sz-1.jpg
     16,570 out_sz-2.jpg
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

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

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

>pdftocairo -jpeg -cropbox Sample_tocairo.pdf cropbox\out_cropbox

>dir cropbox
     80,221 out_cropbox-1.jpg
     83,520 out_cropbox-2.jpg
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

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

>pdftocairo -png -mono Sample_tocairo.pdf mono\out_mono

>dir mono
     6,063 out_mono-1.png
     5,395 out_mono-2.png
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

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

>pdftocairo -jpeg -gray Sample_tocairo.pdf gray\out_gray

>dir gray
     66,716 out_gray-1.jpg
     68,861 out_gray-2.jpg
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

「-transp」 PDFの白い箇所を透明として画像出力

※「-png」「-tiff」

>pdftocairo -png -transp Sample_tocairo.pdf transp\out_transp

>dir transp
     64,061 out_transp-1.png
     60,036 out_transp-2.png
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

「-antialias <string>」 PDFを画像に変換するときのアンチエイリアスを指定

>pdftocairo -png -antialias default  Sample_tocairo.pdf antialias\out_antialias_default
>pdftocairo -png -antialias none     Sample_tocairo.pdf antialias\out_antialias_none
>pdftocairo -png -antialias gray     Sample_tocairo.pdf antialias\out_antialias_gray
>pdftocairo -png -antialias subpixel Sample_tocairo.pdf antialias\out_antialias_subpixel
>pdftocairo -png -antialias fast     Sample_tocairo.pdf antialias\out_antialias_fast
>pdftocairo -png -antialias good     Sample_tocairo.pdf antialias\out_antialias_good
>pdftocairo -png -antialias best     Sample_tocairo.pdf antialias\out_antialias_best


>dir antialias
     52,075 out_antialias_best-1.png
     48,345 out_antialias_best-2.png
     65,620 out_antialias_default-1.png
     61,977 out_antialias_default-2.png
     65,620 out_antialias_fast-1.png
     61,977 out_antialias_fast-2.png
     65,620 out_antialias_good-1.png
     61,977 out_antialias_good-2.png
     65,620 out_antialias_gray-1.png
     61,977 out_antialias_gray-2.png
     16,051 out_antialias_none-1.png
     16,001 out_antialias_none-2.png
     68,167 out_antialias_subpixel-1.png
     64,976 out_antialias_subpixel-2.png
>

「antialias」の指定内容

パラメータ 設定値
default 変換画像のデフォルトでアンチエイリアシングする
「-antialias」指定なしの時のデフォルト
none アンチエイリアシングは無効とする
gray グレーの陰影を使用して単色のアンチエイリアシングをする
subpixel サブピクセル要素の順序を利用してアンチエイリアシングする
fast 品質よりも速度を優先してアンチエイリアシングする
good 速度よりも品質を優先してアンチエイリアシングする
best 速度よりも最高品質のアンチエイリアシングする
なぜか、サンプルは正しく変換できませんでした
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

「-icc <string>」 指定したiccプロファイルを埋め込む

※[-png」のみ

>pdftocairo -png -icc iccFile.icc Sample_tocairo.pdf icc\out_icc
>
ページTOP

「-level2」, 「-level3」
PDFをレベル2、レベル3のPostScriptに変換

※「-ps」「-eps」「-pdf」「-svg」のみ

>pdftocairo -ps -level2 Sample_tocairo.pdf level2\out_level2.ps
>pdftocairo -ps -level3 Sample_tocairo.pdf level3\out_level3.ps

>dir level2
     47,285 out_level2.ps
>
>dir level3
     47,285 out_level3.ps
>
ページTOP

「-paper <string>」 出力する用紙サイズを指定

指定値:「letter」「legal」「A4」「A3」「match」
「match」を指定すると変換元PDFに合わされます(デフォルト)。
(「-ps」「-eps」「-pdf」「-svg」のみ)

>pdftocairo -pdf -paper A3 Sample_tocairo.pdf paper\out_paper.pdf

>dir paper
     18,526 out_paper.pdf
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

「-paperw <int>」, 「-paperh <int>」
出力する用紙サイズを指定

出力する用紙サイズの横幅と高さをポイント値で指定します。
(「-ps」「-eps」「-pdf」「-svg」のみ)

>pdftocairo -pdf -paperw 200 -paperh 100 Sample_tocairo.pdf paperw\out_paperw.pdf

>dir paperw
     18,598 out_paperw.pdf
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

「-nocrop」 クロップボックスでのトリミングは行わない

「-ps」「-eps」「-pdf」「-svg」のみ

>pdftocairo -pdf -nocrop Sample_tocairo.pdf nocrop\out_nocrop.pdf

>dir nocrop
     18,635 out_nocrop.pdf
>
ページTOP

「-expand」 用紙サイズまで拡大する

用紙より小さいPDFページを用紙いっぱいに拡大します。
(「-ps」「-eps」「-pdf」「-svg」のみ)

>pdftocairo -pdf -expand Sample_tocairo.pdf expand\out_expand.pdf

>dir expand
     18,635 out_expand.pdf
>
ページTOP

「-noshrink」 用紙サイズに合わせた拡大縮小をしない

用紙より大きいPDFページは拡大縮小しません。
(「-ps」「-eps」「-pdf」「-svg」のみ)

>pdftocairo -pdf -noshrink Sample_tocairo.pdf noshrink\out_noshrink.pdf

>dir noshrink
     18,550 out_noshrink.pdf
>
ページTOP

「-nocenter」 用紙より小さいサイズのPDFは中央寄せしない

用紙より小さいサイズのPDFは中央寄せしない。(デフォルトは中央寄せ)
(「-ps」「-eps」「-pdf」「-svg」のみ)

>pdftocairo -pdf -nocenter -paper A3 Sample_tocairo.pdf nocenter\out_nocenter.pdf

>dir nocenter
     18,524 out_nocenter.pdf
>
元PDF 変換後画像
Sample_tocairo.pdf (22KB)
ページTOP

「-duplex」

%%IncludeFeature: *Duplex DuplexNoTumble DSCコメントをPostScriptファイルに追加します(PSのみ)。これにより、プリントマネージャは両面印刷を有効にします。

>pdftocairo -ps -duplex Sample_tocairo.pdf duplex\out_duplex.ps

>dir duplex
     47,349 out_duplex.ps
>
ページTOP

「-struct」 論理文書構造を有効にする

>pdftocairo -pdf -struct Sample_tocairo.pdf struct\out_struct.pdf

>dir struct
     18,636 out_struct.pdf
>
ページTOP

コマンド共通オプション

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

ページTOP
広告

使用したバージョンなど

Windows版を使用しています。

pdftocairo version 24.08.0
Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdftocairo [options] <PDF-file> [<output-file>]
  -png                     : generate a PNG file
  -jpeg                    : generate a JPEG file
  -jpegopt <string>        : jpeg options, with format <opt1>=<val1>[,<optN>=<valN>]*
  -tiff                    : generate a TIFF file
  -tiffcompression <string>: set TIFF compression: none, packbits, jpeg, lzw, deflate
  -ps                      : generate PostScript file
  -eps                     : generate Encapsulated PostScript (EPS)
  -pdf                     : generate a PDF file
  -svg                     : generate a Scalable Vector Graphics (SVG) file
  -print                   : print to a Windows printer
  -printdlg                : show Windows print dialog and print
  -printer <string>        : printer name or use default if this option is not specified
  -printopt <string>       : printer options, with format <opt1>=<val1>[,<optN>=<valN>]*
  -setupdlg                : show printer setup dialog before printing
  -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
  -r <fp>                  : resolution, in PPI (default is 150)
  -rx <fp>                 : X resolution, in PPI (default is 150)
  -ry <fp>                 : Y resolution, in PPI (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
  -mono                    : generate a monochrome image file (PNG, JPEG)
  -gray                    : generate a grayscale image file (PNG, JPEG)
  -transp                  : use a transparent background instead of white (PNG)
  -antialias <string>      : set cairo antialias option
  -icc <string>            : ICC color profile to use
  -level2                  : generate Level 2 PostScript (PS, EPS)
  -level3                  : generate Level 3 PostScript (PS, EPS)
  -origpagesizes           : conserve original page sizes (PS, PDF, SVG)
  -paper <string>          : paper size (letter, legal, A4, A3, match)
  -paperw <int>            : paper width, in points
  -paperh <int>            : paper height, in points
  -nocrop                  : don't crop pages to CropBox
  -expand                  : expand pages smaller than the paper size
  -noshrink                : don't shrink pages larger than the paper size
  -nocenter                : don't center pages smaller than the paper size
  -duplex                  : enable duplex printing
  -struct                  : enable logical document structure
  -opw <string>            : owner password (for encrypted files)
  -upw <string>            : user password (for encrypted files)
  -q                       : don't print any messages or errors
  -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ページごとに分割する
pdftohtml PDFをHTML形式に変換する
pdftoppm PDFファイルを画像に変換する
pdftops PDFファイルをPostScriptファイルに変換する
pdftotext PDFファイルからテキストを抽出する
pdfunite 複数のPDFファイルをページ結合する
ページTOP
広告
QrCode
このページのURL
スマートフォン・タブレット運営:株式会社シーマン