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 で 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()

結論
この記事では、Spire.PDF for Python と Pillow の機能を組み合わせることで、Python を使用して PDF と TIFF 形式の間で変換する方法を説明しました。Spire.PDF の強力な PDF 処理機能と Pillow の柔軟な画像処理を活用することで、PDF から TIFF への変換および TIFF から PDF への変換の両方を効率的に実行できます。
一時ライセンスを申請する
評価メッセージの削除や機能制限の解除をご希望の場合は、営業担当者までお問い合わせのうえ、30日間有効な一時ライセンスを取得してください。






