画像をPDFに変換する主な理由の一つは、共有や転送を容易にすることです。また、複数の画像を1つのPDFファイルにまとめることで、ファイル管理を簡素化することもできます。この記事では、サードパーティライブラリSpire.PDF for Pythonを使ってPythonで画像をPDFファイルに変換する方法を紹介します。
Python PDFライブラリの紹介
Spire.PDF for Pythonは、PythonアプリケーションでPDFファイルを扱いたい開発者のための多機能ツールです。PDFの作成、操作、変換のための幅広い機能を提供し、単純なPDF作成から複雑な文書処理タスクまで、様々なユースケースに適しています。
Python PDFライブラリをインストールするには、以下のpipコマンドを実行します:
pip install Spire.PDF
Pythonで複数の画像を1つのPDFファイルに変換する
PDF Pythonライブラリは、画像をPDFファイルのページに直接描画することで、画像をPDFに変換する方法を提供します。画像はjpg, jpeg, pngのようなどんなフォーマットでもかまいません。主な手順は以下の通りです:
1. 必要なモジュールをインポートします;
2. PdfDocument
クラスでPDFファイルを作成し、ページの余白を設定します;
3. 画像が保存されているフォルダを指定し、各画像を繰り返し処理します;
4. 画像の幅と高さを取得し、画像と同じサイズの新しいページをPDFに追加します;
5. PdfPageBase.Canvas.DrawImage()
メソッドを呼び出して、画像を新しいPDFページに描画します;
6. PdfDocument.SaveToFile()
メソッドでPDFファイルを保存します。
サンプルコード:
from spire.pdf.common import *
from spire.pdf import *
import os
# PdfDocumentオブジェクトを作成する
pdf = PdfDocument()
# ページの余白を設定する
pdf.PageSettings.SetMargins(0.0)
# 画像が保存されているフォルダを取得
path = " Images\\ "
files = os.listdir(path)
# フォルダ内のファイルを反復処理する
for root, dirs, files in os.walk(path):
for file in files:
# 画像を読み込む
image = PdfImage.FromFile(os.path.join(root, file)) #FromFile(os.path.join(root, file))
# 画像の幅と高さを取得する
width = image.PhysicalDimension.Width
height = image.PhysicalDimension.Height
# 画像と同じサイズのページを追加する
page = pdf.Pages.Add(SizeF(width, height))
# ページに画像を描く
page.Canvas.DrawImage(image, 0.0, 0.0, width, height)
# PDFファイルを保存する
pdf.SaveToFile("ConvertImagesToPdf.pdf")
pdf.Dispose()
Pythonライブラリのその他の機能: