LoginSignup
0
0

PythonでPDFを画像に変換する

Posted at

はじめに

PDFファイルは安定したレイアウト、簡単な転送性、高い可読性のため、日常業務で広く使用されています。場合によっては、PDFを画像に変換する必要があります。コンテンツを画像として保存することで、読み込み速度が向上し、誤って編集されるリスクも低減されます。さらに、PDFファイルやページを他のドキュメントやウェブページに埋め込みたい場合、指定された画像形式に変換することは優れた選択肢です。この文章では、Pythonを使用してPDFを画像に変換する詳細について説明します。

ツール

このライブラリは購入する必要がありますが、30 日間の無料試用版も提供されています。
もっと多いサンプルコードについて、Spire.PDF for Pythonをダウンロードして参照してください。

準備

まず、Spire.PDF for Pythonと plum-dispatch v1.7.4を VS Code にインポートします。

  1. Pythonをダウンロードしてインストールします。
  2. VS Codeで「Extensions」をクリックし、「Python」を検索してインストールします。
  3. 「Explorer」-「NO FOLRDER OPENED」-「Open Folder」
  4. フォルダーを選択し、そこに「.py」ファイルを追加します。
  5. 「Terminal」-「New Terminal」
  6. 次のコマンドを入力します。
    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()
0
0
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
0