はじめに
PDFファイルは安定したレイアウト、簡単な転送性、高い可読性のため、日常業務で広く使用されています。場合によっては、PDFを画像に変換する必要があります。コンテンツを画像として保存することで、読み込み速度が向上し、誤って編集されるリスクも低減されます。さらに、PDFファイルやページを他のドキュメントやウェブページに埋め込みたい場合、指定された画像形式に変換することは優れた選択肢です。この文章では、Pythonを使用してPDFを画像に変換する詳細について説明します。
ツール
- Python 3.12.0
- Spire.PDF for Pythonライブラリ
このライブラリは購入する必要がありますが、30 日間の無料試用版も提供されています。
もっと多いサンプルコードについて、Spire.PDF for Pythonをダウンロードして参照してください。
準備
まず、Spire.PDF for Pythonと plum-dispatch v1.7.4を VS Code にインポートします。
- Pythonをダウンロードしてインストールします。
- VS Codeで「Extensions」をクリックし、「Python」を検索してインストールします。
- 「Explorer」-「NO FOLRDER OPENED」-「Open Folder」
- フォルダーを選択し、そこに「.py」ファイルを追加します。
- 「Terminal」-「New Terminal」
- 次のコマンドを入力します。
pip install Spire.PDF
PDFからラスター画像への変換
一般的なビットマップ形式はPNG、JPG、BMP、EMF、TIFFなどです。
次のコードでは、SaveAsImage メソッドを呼び出して、PDF ドキュメントの特定のページをビットマップ イメージ ストリームに変換できます。 この画像ストリームは、拡張子が PNG、JPG、BPM、EMF、TIFF の画像ファイルとしてエクスポートできます。
たとえば、PDFをPNGに変換します。
from spire.pdf.common import *
from spire.pdf import *
# PdfDocument オブジェクトを作成する
doc = PdfDocument()
# PDF ドキュメントをロードする
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
# すべてのページをループする
for i in range(doc.Pages.Count):
# 特定のページを画像ストリームに変換する
with doc.SaveAsImage(i) as image:
# 画像ストリームを PNG ファイルとして保存する
image.Save("C:\\Users\\Administrator\\Desktop\\Images\\ToImage-{0:d}.png".format(i))
# 文書を閉じます
doc.Close()
PDFからラスター画像への変換
一般的なベクターグラフィックス形式はSVGです。
PDFをSVGに変換する場合は、SaveToFile(filename: str, startIndex: int, endIndex: int, fileFormat: FileFormat) メソッドを呼び出して、出力ファイル形式を SVG として指定できます。
from spire.pdf.common import *
from spire.pdf import *
# PdfDocument オブジェクトを作成する
doc = PdfDocument()
# PDF ドキュメントをロードする
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
# すべてのページをループする
for i in range(doc.Pages.Count):
# 特定のページをSVGファイルに変換する
doc.SaveToFile("C:\\Users\\Administrator\\Desktop\\Images\\ToImage-{0:d}.svg".format(i), i, i, FileFormat.SVG)
# 文書を閉じます
doc.Close()