PythonでPDFを異なる画像フォーマットに変換
概要
この記事では、Pythonを使用してPDFを異なる画像フォーマットに変換する方法について説明します。以下のトピックをカバーしています。
画像フォーマット: TIFF
画像フォーマット: BMP
画像フォーマット: EMF
画像形式: JPG
画像形式: PNG
画像形式: GIF
画像形式: SVG
PythonでPDFを画像に変換
Aspose.PDF for Python は、PDFを画像に変換するためにいくつかのアプローチを使用します。 一般的に、私たちは2つのアプローチを使用します: デバイスアプローチを使用した変換と、SaveOptionを使用した変換です。このセクションでは、これらのアプローチのいずれかを使用して、PDFドキュメントをBMP、JPEG、GIF、PNG、EMF、TIFF、およびSVG形式の画像に変換する方法を示します。
ライブラリには、仮想デバイスを使用して画像を変換するためのいくつかのクラスがあります。DocumentDeviceはドキュメント全体の変換を目的としており、ImageDeviceは特定のページ用です。
DocumentDeviceクラスを使用してPDFを変換
Aspose.PDF for Pythonは、PDFページをTIFF画像に変換することを可能にします。
TiffDevice(DocumentDeviceに基づく)クラスは、PDFページをTIFF画像に変換することを可能にします。このクラスは、PDFファイル内のすべてのページを単一のTIFF画像に変換することを可能にするProcess
という名前のメソッドを提供します。
PDFをTIFFにオンラインで変換してみてください Aspose.PDF for Python via .NETは、オンラインの無料アプリケーション“PDF to TIFF”を提供しており、機能性と品質を確認することができます。
PDFページを1つのTIFF画像に変換
Aspose.PDF for Pythonは、PDFファイル内のすべてのページを1つのTIFF画像に変換する方法を説明します:
-
Documentクラスのオブジェクトを作成します。
-
TiffSettingsとTiffDeviceオブジェクトを作成します。
-
TiffDevice.Process() メソッドを呼び出して、PDF ドキュメントを TIFF に変換します。
-
出力ファイルのプロパティを設定するには、TiffSettings クラスを使用します。
次のコードスニペットは、すべての PDF ページを単一の TIFF 画像に変換する方法を示しています。
from asposepdf import Api, Device
# ライセンスの初期化
documentName = "testdata/license/Aspose.PDF.PythonviaJava.lic"
licenseObject = Api.License()
licenseObject.setLicense(documentName)
# PDF ドキュメントを開く
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_image = DIR_OUTPUT + "image.tiff"
# PDF ドキュメントを開く
document = Api.Document(input_pdf)
# Resolution オブジェクトを作成
resolution = Device.Resolution(300)
# TiffSettings オブジェクトを作成
tiffSettings = Device.TiffSettings()
tiffSettings._CompressionType = Device.CompressionType.LZW
tiffSettings._ColorDepth = Device.ColorDepth.Default
tiffSettings._Skip_blank_pages = False
# TIFF デバイスを作成
tiffDevice = Device.TiffDevice(resolution, tiffSettings)
# 特定のページを変換し、画像をストリームに保存
tiffDevice.process(document, output_image)
Convert PDF using ImageDevice class
ImageDevice
は、BmpDevice
、JpegDevice
、GifDevice
、PngDevice
、およびEmfDevice
の祖先です。
-
BmpDeviceクラスを使用すると、PDFページをBMP画像に変換できます。
-
EmfDeviceクラスを使用すると、PDFページをEMF画像に変換できます。
-
JpegDeviceクラスを使用すると、PDFページをJPEG画像に変換できます。
-
PngDeviceクラスを使用すると、PDFページをPNG画像に変換できます。
-
GifDeviceクラスを使用すると、PDFページをGIF画像に変換できます。
以下は、PDFページを画像に変換する方法を見ていきます。
BmpDevice クラスは、PDFファイルの特定のページをBMP画像形式に変換することを可能にする、Process という名前のメソッドを提供しています。他のクラスも同じメソッドを持っています。したがって、PDFページを画像に変換する必要がある場合は、必要なクラスをインスタンス化するだけです。
次のステップとPythonのコードスニペットは、この可能性を示しています
ステップ: PythonでPDFを画像に変換 (BMP, EMF, JPG, PNG, GIF)
- Document クラスを使用してPDFファイルを読み込む。
- ImageDevice のサブクラスのインスタンスを作成する。すなわち、
- BmpDevice (PDFをBMPに変換するため)
- EmfDevice (PDFをEmfに変換するため)
- JpegDevice (PDFをJPGに変換するため)
- PngDevice (PDFをPNGに変換するため)
- GifDevice (PDFをGIFに変換するため)
- PDFから画像への変換を実行するために、ImageDevice.Process() メソッドを呼び出す。
PDFをBMPに変換
from asposepdf import Api, Device
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDFドキュメントを開く
document = Api.Document(input_pdf)
# 解像度オブジェクトを作成
resolution = Device.Resolution(300)
device = Device.BmpDevice(resolution)
for i in range(0, document.getPages.size):
# 保存するためのファイル名を作成
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.bmp"
# 特定のページを変換し、画像をファイルに保存
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
PDFをEMFに変換
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDFドキュメントを開く
document = Api.Document(input_pdf)
# 解像度オブジェクトを作成
resolution = Device.Resolution(300)
device = Device.EmfDevice(resolution)
for i in range(0, document.getPages.size):
# 保存するためのファイル名を作成
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.emf"
# 特定のページを変換し、ファイルに画像を保存
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
PDFをJPEGに変換
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDFドキュメントを開く
document = Api.Document(input_pdf)
# 解像度オブジェクトを作成
resolution = Device.Resolution(300)
device = Device.JpegDevice(resolution)
for i in range(0, document.getPages.size):
# 保存するためのファイル名を作成
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.jpeg"
# 特定のページを変換し、ファイルに画像を保存
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
PDFをPNGに変換
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDFドキュメントを開く
document = Api.Document(input_pdf)
# 解像度オブジェクトを作成
resolution = Device.Resolution(300)
device = Device.PngDevice(resolution)
for i in range(0, document.getPages.size):
# 保存用のファイル名を作成
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.png"
# 特定のページを変換し、画像をファイルに保存
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
PDFをGIFに変換
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDFドキュメントを開く
document = Api.Document(input_pdf)
# 解像度オブジェクトを作成
resolution = Device.Resolution(300)
device = Device.GifDevice(resolution)
for i in range(0, document.getPages.size):
# 保存用のファイル名を作成
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.gif"
# 特定のページを変換し、画像をファイルに保存
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
PDFをPNGにオンラインで変換してみてください
無料アプリケーションの動作例として、次の機能を確認してください。
Aspose.PDF for Pythonは、オンライン無料アプリケーション「PDF to PNG」を提供しています。ここで機能と品質を確認してみてください。
SaveOptionsクラスを使用してPDFを変換
この記事のこの部分では、PythonとSaveOptionsクラスを使用してPDFをSVGに変換する方法を示します。
PDFをSVGにオンラインで変換してみてください
Aspose.PDF for Python via .NETは、オンライン無料アプリケーション「PDF to SVG」を提供しています。ここで機能と品質を確認してみてください。
スケーラブルベクターグラフィックス (SVG) は、二次元ベクターグラフィックスのためのXMLベースのファイル形式の仕様群であり、静的および動的(インタラクティブまたはアニメーション)なものです。SVG仕様は、1999年以来、ワールドワイドウェブコンソーシアム(W3C)によって開発されているオープン標準です。
SVG画像とその動作はXMLテキストファイルで定義されています。これは、検索、インデックス作成、スクリプト化、必要に応じて圧縮が可能であることを意味します。XMLファイルとして、SVG画像は任意のテキストエディタで作成および編集できますが、通常はInkscapeなどの描画プログラムで作成する方が便利です。
Aspose.PDF for Pythonは、SVG画像をPDF形式に変換する機能をサポートしており、PDFファイルをSVG形式に変換する機能も提供しています。 この要件を達成するために、SvgSaveOptions クラスが Aspose.PDF 名前空間に導入されました。SvgSaveOptions のオブジェクトをインスタンス化し、それを Document.Save() メソッドの第2引数として渡します。
以下のコードスニペットは、PythonでPDFファイルをSVG形式に変換する手順を示しています。
- Document クラスのオブジェクトを作成します。
- 必要な設定で SvgSaveOptions オブジェクトを作成します。
- Document.Save() メソッドを呼び出し、SvgSaveOptions オブジェクトを渡してPDFドキュメントをSVGに変換します。
PDFをSVGに変換
from asposepdf import Api
documentName = "testdata/input.pdf"
doc = Api.Document(documentName, None)
documentOutName = "testout/out.svg"
doc.save(documentOutName, Api.SaveFormat.Svg)