0
1

Pythonで画像をPDFに変換する

Posted at

画像を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()

結果:
image2pdf.png


Pythonライブラリのその他の機能:

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1