# [ツール紹介] img2pdf: ロスレス画像-PDF変換ツール > `img2pdf`は、Linux環境で画像をPDFに変換する際に、最も高速かつ効率的なツールの1つです。 複数の画像を1つのPDFドキュメントに結合したり、単一の画像をPDFに変換したりするのに最適化されており、Pythonベースで動作します。 今回は、個人的に時々必要になるたびに「これは本当に素晴らしい」と毎回感じるツールをご紹介します。圧倒的な速度とLinux特有の軽快さ、さらにパイプ接続の柔軟性も兼ね備えており、非常に気に入っているツールです。 ![이미지에서 pdf 로 변환되는 프로세스를 이미지화](/media/whitedec/blog_img/2ab5b1e13c8247bc98d6174c12c0c5c2.webp) ## 1. 作動原理 (Working Principle) {#sec-f8af2ee385bf} 最大の特長は、**「再エンコードなしでの結合(No Re-encoding)」**です。 * **従来の方式(例: ImageMagick):** 画像を読み込み、ピクセルデータを解析した後、PDF形式に合わせて再圧縮(Lossy)します。この過程でCPUリソースを多く消費し、画質劣化が発生する可能性があります。 * **img2pdfの方式:** 画像ファイルのバイナリデータを**そのまま(Lossless)**PDFコンテナに格納します。 * **利点:** 処理速度が圧倒的に速く、元の画質が100%維持され、生成されるファイルの容量も経済的です。 ## 2. インストールと削除 (Installation & Removal) {#sec-aa068551b507} ### インストール (Ubuntu/Debianの場合) {#sec-0dfc74ad579f} ```bash sudo apt update sudo apt install img2pdf ``` ### 削除 {#sec-17fc6056a949} ```bash # プログラムのみを削除 sudo apt remove img2pdf # 設定ファイルと依存関係を含め、完全に削除 sudo apt purge img2pdf sudo apt autoremove ``` --- ## 3. 主な使い方 (Usage Guide) {#sec-02dae59f6008} ### 基本的な結合 {#sec-002951a3397c} 現在のディレクトリにあるすべてのPNGファイルを1つのPDFに結合する際に使用します。 ```bash img2pdf *.png -o output.pdf ``` ### 特定の順序で結合 {#sec-3136d0efa9f4} ファイル名を直接指定して順序を設定できます。 ```bash img2pdf image1.png image2.png image3.png -o output.pdf ``` ### ページサイズと余白の設定 (応用) {#sec-8dfce1207c34} 画像を特定の規格(例: A4)に合わせたり、余白を追加したりする場合に便利です。 ```bash # イメージサイズをA4に合わせ、2cmの余白を追加 img2pdf --pagesize A4 --border 2cm *.png -o output.pdf ``` ### 特定の解像度(DPI)指定 {#sec-231f83e819d7} 画像の出力解像度を強制したい場合に使用します。 ```bash img2pdf --dpi 300 *.png -o output.pdf ``` --- ## 4. 開発者向けのヒント (Developer's Note) {#sec-34c448091f29} * **ソートの問題:** Linuxターミナルのワイルドカード(`*`)は、数字を文字列として認識します。 * 例: `1.png`, `10.png`, `2.png` の順で結合される可能性があります。 * **解決策:** ファイル名を `01.png`, `02.png` ... `10.png` のように桁数を揃えて保存するのが最も安全です。 * **パイプの活用:** 当然のことながら、パイプの活用はLinuxの最も便利な点の一つです。他のコマンドの結果を受け取って、即座にPDFを作成できます。 ```bash find . -name "*.png" | sort | xargs img2pdf -o output.pdf ``` --- > **一言要約:** 「画質を損なわずに、最も速く、LinuxらしくPDFを作成したい時に使う最高のツール」