チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»pdf python conversion

Displaying items by tag: pdf python conversion

水, 25 3月 2026 02:04

Python で PDF と TIFF を相互変換

TIFF は、高品質であり、幅広いカラースペースをサポートしているため、スキャンやアーカイブで使用される一般的な画像形式です。一方、PDF は、ファイルサイズを圧縮しながらドキュメントのレイアウトと書式を保持するため、ドキュメント交換に広く使用されています。これらの形式間の変換は、アーカイブ、編集、またはドキュメント共有など、さまざまな目的で役立ちます。

この記事では、Spire.PDF for Python と Pillow ライブラリを使用して、PDF を TIFF に変換する方法と、TIFF を PDF に変換する方法を学びます。

Spire.PDF for Python のインストール

この方法は、Spire.PDF for Python と Pillow(PIL)の組み合わせに依存します。Spire.PDF は PDF ドキュメントの読み取り、作成、および変換に使用され、PIL ライブラリは TIFF ファイルの処理およびそのフレームへのアクセスに使用されます。

これらのライブラリは、以下の pip コマンドを使用して簡単にデバイスにインストールできます。

pip install Spire.PDF
pip install pillow

Python で PDF を TIFF に変換

PDF を TIFF に変換するには、まず Spire.PDF を使用して PDF ドキュメントを読み込み、各ページを画像ストリームに変換する必要があります。その後、これらの画像ストリームを PIL ライブラリの機能を使用して結合し、1 つの TIFF 画像にまとめます。

以下は、Python を使用して PDF を TIFF に変換する手順です。

  • PdfDocument オブジェクトを作成する。
  • 指定されたファイルパスから PDF ドキュメントを読み込む。
  • ドキュメント内のページを繰り返し処理する。
    • PdfDocument.SaveAsImage() メソッドを使用して各ページを画像ストリームに変換する。
    • 画像ストリームを PIL 画像に変換する。
  • これらの PIL 画像を 1 つの TIFF 画像に結合する。
from spire.pdf.common import *
from spire.pdf import *

from PIL import Image
from io import BytesIO

# PdfDocumentオブジェクトを作成
doc = PdfDocument()

# PDFファイルを読み込む
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")

# PIL画像を格納するリスト
images = []

# すべてのページをループ処理
for i in range(doc.Pages.Count):

    # ページを画像ストリームに変換
    with doc.SaveAsImage(i) as imageData:

        # PIL画像として読み込む
        img = Image.open(BytesIO(imageData.ToArray())) 

        # リストに追加
        images.append(img)

# マルチページTIFFとして保存
images[0].save("Output/ToTIFF.tiff", save_all=True, append_images=images[1:])

# リソース解放
doc.Dispose()

Python で PDF を TIFF に変換する

Python で TIFF を PDF に変換

PIL ライブラリの助けを借りて、TIFF ファイルを読み込み、各フレームを個別の PNG ファイルに変換できます。その後、Spire.PDF を使用して、これらの PNG ファイルを PDF ドキュメント内のページに描画できます。

Python を使用して TIFF 画像を PDF ドキュメントに変換するには、以下の手順に従います。

  • PdfDocument オブジェクトを作成する。

  • TIFF 画像を読み込む。

  • TIFF 画像内のフレームを繰り返し処理する。

    • 特定のフレームを取得し、PNG ファイルとして保存する。
    • PDF ドキュメントにページを追加する。
    • PdfPageBase.Canvas.DrawImage() メソッドを使用して、指定された位置に画像を描画する。
  • ドキュメントを PDF ファイルとして保存する。

from spire.pdf.common import *
from spire.pdf import *

from PIL import Image
import io

# PdfDocumentオブジェクトを作成
doc = PdfDocument()

# ページ余白を0に設定
doc.PageSettings.SetMargins(0.0)

# TIFF画像を読み込む
tiff_image = Image.open("C:\\Users\\Administrator\\Desktop\\TIFF.tiff")

for i in range(tiff_image.n_frames):

    # フレームを選択
    tiff_image.seek(i)
    
    # フレーム画像をコピー
    frame_image = tiff_image.copy()

    # PNGとして保存
    frame_image.save(f"temp/output_frame_{i}.png")
    
    # PdfImageとして読み込む
    image = PdfImage.FromFile(f"temp/output_frame_{i}.png")

    # 画像サイズを取得
    width = image.PhysicalDimension.Width
    height = image.PhysicalDimension.Height

    # ページを追加
    page = doc.Pages.Add(SizeF(width, height))

    # 画像を描画
    page.Canvas.DrawImage(image, 0.0, 0.0, width, height)

# PDFとして保存
doc.SaveToFile("Output/TiffToPdf.pdf", FileFormat.PDF)

# リソース解放
doc.Dispose()

Python で TIFFを PDF に変換する

結論

この記事では、Spire.PDF for Python と Pillow の機能を組み合わせることで、Python を使用して PDF と TIFF 形式の間で変換する方法を説明しました。Spire.PDF の強力な PDF 処理機能と Pillow の柔軟な画像処理を活用することで、PDF から TIFF への変換および TIFF から PDF への変換の両方を効率的に実行できます。

一時ライセンスを申請する

評価メッセージの削除や機能制限の解除をご希望の場合は、営業担当者までお問い合わせのうえ、30日間有効な一時ライセンスを取得してください。

Published in 変換
Tagged under

SVG ファイルは、拡大縮小や調整が容易であることから、Web グラフィックスやベクター形式のイラストによく利用されます。一方 PDF は、さまざまなデバイスや OS で幅広くサポートされている汎用性の高い形式です。SVG を PDF に変換することで、受け取る側が特別なソフトウェアを用意したり、ブラウザの互換性を気にする必要なく、グラフィックスやイラストを簡単に共有できます。本記事では、Python で SVG ファイルを PDF 形式に変換する方法Spire.PDF for Python を用いて解説します。

目次

Spire.PDF for Python のインストール

この操作には Spire.PDF for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.PDF

Python で SVG を PDF に変換する

Spire.PDF for Python では、PdfDocument.LoadFromSvg() メソッドを使用して SVG ファイルを読み込み、PdfDocument.SaveToFile() メソッドで PDF として保存できます。手順は以下の通りです。

  • PdfDocument クラスのオブジェクトを作成する
  • PdfDocument.LoadFromSvg() メソッドで SVG ファイルを読み込む
  • PdfDocument.SaveToFile() メソッドで PDF ファイルとして保存する
from spire.pdf import PdfDocument, FileFormat

# PdfDocument オブジェクトを作成
doc = PdfDocument()
# SVG ファイルを読み込む
doc.LoadFromSvg("Sample.svg")

# SVG を PDF 形式に保存
doc.SaveToFile("output/ConvertSvgToPdf.pdf", FileFormat.PDF)
# PdfDocument オブジェクトを閉じる
doc.Close()

PythonでSVGをPDFに変換する

Python で SVG を PDF に追加する

Spire.PDF for Python では、SVG を PDF に直接変換するだけでなく、既存の PDF に任意の位置へ追加することも可能です。手順は以下の通りです。

  • PdfDocument クラスのオブジェクトを作成し、PdfDocument.LoadFromSvg() で SVG ファイルを読み込む
  • 読み込んだ SVG の内容を基に Pages[].CreateTemplate() メソッドでテンプレートを作成する
  • テンプレートの幅と高さを取得する
  • 別の PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() で PDF ファイルを読み込む
  • Pages[].Canvas.DrawTemplate() メソッドで、テンプレートを任意のサイズで指定位置に描画する
  • PdfDocument.SaveToFile() メソッドで保存する
from spire.pdf import PdfDocument, PointF, FileFormat

# PdfDocument オブジェクトを作成
doc1 = PdfDocument()
# SVG ファイルを読み込む
doc1.LoadFromSvg("Sample.svg")

# SVG 内容を基にテンプレートを作成
template = doc1.Pages.get_Item(0).CreateTemplate()

# 別の PdfDocument オブジェクトを作成
doc2 = PdfDocument()
page = doc2.Pages.Add()

# 読み込んだ PDF の 1 ページ目に、テンプレートを指定位置に描画
page.Canvas.DrawTemplate(template, PointF(10.0, 100.0))

# 結果を保存
doc2.SaveToFile("output/AddSvgToPdf.pdf", FileFormat.PDF)
# PdfDocument オブジェクトを閉じる
doc2.Close()
doc1.Close()

PythonでSVGをPDFに追加する

もし PDF に他の種類の画像を挿入したい場合は、Python で PDF に画像を追加・削除・置換する方法をご参照ください。

一時ライセンスの申請

生成した文書から評価用の透かしを削除したい場合や、機能制限を解除したい場合は、30 日間有効の試用ライセンスを申請してください。

Published in 変換
Tagged under