PDFから画像を抽出するにはpopplerを使用します。
PDFファイルから画像を抽出する必要があるとき
PDFファイルから画像を保存する必要がある場合、スクリーンショットを撮ったり、PDFを画面にレンダリングしたりすることなく、画像を抽出する必要があります。pdfimagesはそのような状況で役立ちます。本ガイドは、2026年のドキュメンテーションツール: Markdown、LaTeX、PDF、および印刷ワークフロー ハブの一部です。

LinuxでPDFファイルから画像を抽出するための最も一般的で効果的なツールは、コマンドラインユーティリティ pdfimages です。
これは poppler-utils パッケージの一部です。
Linuxでpdfimagesユーティリティを使用するステップバイステップの手順
1. pdfimagesをインストールする(まだインストールされていない場合):
ほとんどのLinuxディストリビューションはpdfimagesをデフォルトで含んでいます。必要に応じて、パッケージマネージャーを使用してインストールしてください:
sudo apt-get install poppler-utils
またはFedoraの場合:
sudo dnf install poppler-utils
2. テルミナルを開く:
Ctrl + Alt + Tを押してテルミナルウィンドウを開きます。
3. pdfimagesを使用して画像を抽出する:
基本的な構文:
pdfimages
例:
pdfimages /path/to/file.pdf /path/to/output/image
- これにより、
file.pdfからすべての画像が抽出され、指定された出力ディレクトリにimage-000.ppm、image-001.ppmなどのファイルとして保存されます。
4. JPEG形式で画像を抽出する(希望する場合):
JPEG形式で画像を抽出するには(可能であれば)、-jオプションを使用してください:
pdfimages -j /path/to/file.pdf /path/to/output/image
- これにより、JPEG画像は
.jpgファイルとして保存されます。
5. 特定のページから画像を抽出する:
- 特定のページ範囲から画像を抽出するには、
-f(最初のページ)と-l(最後のページ)を使用してください:
pdfimages -f 2 -l 5 -j /path/to/file.pdf /path/to/output/image
- これにより、ページ2から5までの画像が抽出されます。
6. その他のオプション:
- PNG形式で画像を抽出するには、
-pngを使用してください(あなたのバージョンがサポートしている場合)。 - パスワード付きのPDFから画像を抽出するには、
-opw 'ownerpassword'または-upw 'userpassword'を使用してください。
注意事項
- デフォルトの出力形式はPPM(カラー)またはPBM(モノクロ)です。JPEG形式にしたい場合は
-jを使用してください。必要に応じて、ImageMagickのconvertなどのツールを使ってPPM/PBMファイルを他の形式に変換してください。 - 出力ファイルは自動的に番号付けされ、指定されたディレクトリに保存されます。
サマリーテーブル
| コマンド例 | 説明 |
|---|---|
pdfimages input.pdf image |
デフォルトのPPM/PBM形式ですべての画像を抽出 |
pdfimages -j input.pdf image |
可能な限りJPEG形式で画像を抽出 |
pdfimages -f 3 -l 5 input.pdf image |
ページ3から5までの画像を抽出 |
pdfimages -opw 'password' -j input.pdf image |
オーナーパスワード付きのPDFから画像を抽出 |
この方法は効率的で、ほとんどのPDFに組み込まれた画像を処理できます。ただし:
pdfimagesは画像を元の解像度のみで抽出します。- 出力解像度を制御したい場合は、PyMuPDFなどのPDFレンダラを使用し、画像を作成するときに必要なDPIを指定してください。
PDFから特定の解像度で画像を保存する方法
pdfimagesを使用する際、抽出された画像の解像度を指定することはできません。このツールは、リサンプリングや品質の変更なしに、元の形式と解像度で埋め込まれた画像を抽出します。解像度は、画像がPDFに保存された方法によって決まり、pdfimagesは抽出中に解像度をアップスケールまたはダウンスケールするオプションを提供していません。
特定の解像度(たとえば、ページまたはページの一部を指定されたDPIで画像としてレンダリング)で画像を抽出したい場合は、PyMuPDF(fitz)などのPDFレンダリングライブラリまたはツールを使用してください。PyMuPDFでは、ページを画像にレンダリングするときにdpiパラメータを使用して、必要なDPIを指定できます:
import fitz # PyMuPDF
doc = fitz.open("input.pdf")
page = doc.load_page(0) # 最初のページ
pix = page.get_pixmap(dpi=300) # 300 DPIでレンダリング
pix.save("output.png")
このアプローチでは、指定されたDPIでページのラスタ画像を作成し、元の埋め込まれた画像を抽出するのではなく、ページをレンダリングします。
PDFから画像を抽出する他のツール
画像を抽出する際、解像度を失うことなく最も優れたソフトウェアは、レンダリングやリサンプリングせずに 元の埋め込まれた画像 を直接抽出するツールです。上位の選択肢には以下が含まれます:
-
Adobe Acrobat Pro: 専用の「すべての画像をエクスポート」機能を提供し、画像を元の品質とフォーマットでスタンドアロンファイルとして抽出します。この方法は非常に信頼性が高く、PDFに保存された画像の正確な解像度と品質を保持します。
-
pdfimages([XPDF/Poppler suite](https://www.glukhov.org/ja/documentation-tools/pdf/ubuntu-poppler/ “UbuntuでのPDF操作ツール - Poppler”)から): Linuxおよびその他のプラットフォームで利用可能な無料でオープンソースのコマンドラインツールです。
pdfimagesは、JPEG、JPEG2000、その他のフォーマットを含むPDFからすべての画像をネイティブフォーマットと解像度で抽出します。これは、コストをかけずに高品質な抽出プロセスを求めるユーザーに広く推奨されています。 -
オンラインツール(例: PDF24 Tools、PDFCandy、pdfforge): これらのサービスは、PDFをアップロードし、抽出された画像をダウンロードすることができ、元の解像度を保持します。これは、簡単なタスクには便利ですが、インストールを必要とせず、ただし機密性の高いドキュメントではプライバシーの懸念が生じる可能性があります。
サマリーテーブル
| ソフトウェア/ツール | プラットフォーム | 元の解像度を保持 | メモ |
|---|---|---|---|
| Adobe Acrobat Pro | Windows/Mac | はい | 有料、プロフェッショナルグレード、非常に信頼性が高い |
| pdfimages (Poppler) | Linux/Windows | はい | 無料、オープンソース、コマンドラインユーティリティ |
| PDF24 Tools、PDFCandy | ウェブベース | はい | 無料、使いやすい、プライバシーの考慮が必要 |
重要なポイント:
画像を抽出するためのツールは、画像を 抽出(レンダリングやスクリーンショットではなく)するものを使うべきです。Adobe Acrobat Proとpdfimagesは、この目的のために業界標準であり、画像がPDFに存在する通りに保存され、解像度の損失がありません。
pdfutilsコマンドラインオプション
pdfimages /helpを実行すると、以下のような出力が表示されます:
$ pdfimages /help
pdfimages version 24.02.0
Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdfimages [options] <PDF-file> <image-root>
-f <int> : first page to convert
-l <int> : last page to convert
-png : change the default output format to PNG
-tiff : change the default output format to TIFF
-j : write JPEG images as JPEG files
-jp2 : write JPEG2000 images as JP2 files
-jbig2 : write JBIG2 images as JBIG2 files
-ccitt : write CCITT images as CCITT files
-all : equivalent to -png -tiff -j -jp2 -jbig2 -ccitt
-list : print list of images instead of saving
-opw <string> : owner password (for encrypted files)
-upw <string> : user password (for encrypted files)
-p : include page numbers in output file names
-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