Mengonversi PDF ke Berbagai Format Gambar di Python

Gambaran Umum

Artikel ini menjelaskan cara mengonversi PDF ke berbagai format gambar menggunakan Python. Ini mencakup topik-topik berikut.

Format Gambar: TIFF

Format Gambar: BMP

Format Gambar: EMF

Format Gambar: JPG

Format Gambar: PNG

Format Gambar: GIF

Format Gambar: SVG

Python Konversi PDF ke Gambar

Aspose.PDF untuk Python menggunakan beberapa pendekatan untuk mengkonversi PDF ke gambar. Secara umum, kita menggunakan dua pendekatan: konversi menggunakan pendekatan Device dan konversi menggunakan SaveOption. Bagian ini akan menunjukkan cara mengonversi dokumen PDF ke format gambar seperti BMP, JPEG, GIF, PNG, EMF, TIFF, dan SVG menggunakan salah satu pendekatan tersebut.

Ada beberapa kelas dalam perpustakaan yang memungkinkan Anda menggunakan perangkat virtual untuk mengubah gambar. DocumentDevice diorientasikan untuk konversi seluruh dokumen, tetapi ImageDevice - untuk halaman tertentu.

Mengonversi PDF menggunakan kelas DocumentDevice

Aspose.PDF untuk Python memungkinkan konversi Halaman PDF ke gambar TIFF.

Kelas TiffDevice (berdasarkan DocumentDevice) memungkinkan Anda untuk mengonversi halaman PDF ke gambar TIFF. Kelas ini menyediakan metode bernama Process yang memungkinkan Anda untuk mengonversi semua halaman dalam file PDF ke dalam satu gambar TIFF.

Konversi Halaman PDF ke Satu Gambar TIFF

Aspose.PDF untuk Python menjelaskan cara mengonversi semua halaman dalam file PDF menjadi satu gambar TIFF:

Langkah-langkah: Konversi PDF ke TIFF dalam Python

  1. Buat objek dari kelas Document.

  2. Buat objek TiffSettings dan TiffDevice.

  3. Panggil metode TiffDevice.Process() untuk mengonversi dokumen PDF ke TIFF.

  4. Untuk mengatur properti file keluaran, gunakan kelas TiffSettings.

Cuplikan kode berikut menunjukkan cara mengonversi semua halaman PDF menjadi satu gambar TIFF.



from asposepdf import Api, Device

# inisialisasi lisensi
documentName = "testdata/license/Aspose.PDF.PythonviaJava.lic"
licenseObject = Api.License()
licenseObject.setLicense(documentName)

# Buka dokumen PDF
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_image = DIR_OUTPUT + "image.tiff"
# Buka dokumen PDF
document = Api.Document(input_pdf)
# Buat objek Resolution
resolution = Device.Resolution(300)

# Buat objek TiffSettings
tiffSettings = Device.TiffSettings()
tiffSettings._CompressionType = Device.CompressionType.LZW
tiffSettings._ColorDepth = Device.ColorDepth.Default
tiffSettings._Skip_blank_pages = False

# Buat perangkat TIFF
tiffDevice = Device.TiffDevice(resolution, tiffSettings)

# Konversi halaman tertentu dan simpan gambar ke stream
tiffDevice.process(document, output_image)

Mengonversi PDF menggunakan kelas ImageDevice

ImageDevice adalah nenek moyang untuk BmpDevice, JpegDevice, GifDevice, PngDevice, dan EmfDevice.

  • Kelas BmpDevice memungkinkan Anda mengonversi halaman PDF ke gambar BMP.

  • Kelas EmfDevice memungkinkan Anda mengonversi halaman PDF ke gambar EMF.

  • Kelas JpegDevice memungkinkan Anda mengonversi halaman PDF ke gambar JPEG.

  • Kelas PngDevice memungkinkan Anda mengonversi halaman PDF ke gambar PNG.

  • Kelas GifDevice memungkinkan Anda mengonversi halaman PDF ke gambar GIF.

Mari kita lihat bagaimana mengubah halaman PDF menjadi gambar.

Kelas BmpDevice menyediakan metode bernama Process yang memungkinkan Anda mengubah halaman tertentu dari file PDF ke format gambar BMP. Kelas lainnya memiliki metode yang sama. Jadi, jika kita perlu mengonversi halaman PDF ke gambar, kita hanya perlu menginstansiasi kelas yang diperlukan.

Langkah-langkah berikut dan potongan kode di Python menunjukkan kemungkinan ini

Langkah-langkah: PDF ke Gambar (BMP, EMF, JPG, PNG, GIF) dalam Python

  1. Muat file PDF menggunakan kelas Document.
  2. Buat instance dari subclass ImageDevice yaitu.
  3. Panggil metode ImageDevice.Process() untuk melakukan konversi PDF ke Gambar.

Mengonversi PDF ke BMP

from asposepdf import Api, Device

DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Buka dokumen PDF
document = Api.Document(input_pdf)

# Buat objek Resolusi
resolution = Device.Resolution(300)
device = Device.BmpDevice(resolution)

for i in range(0, document.getPages.size):
    # Buat nama file untuk disimpan
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.bmp"
    # Konversi halaman tertentu dan simpan gambar ke file
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

Mengubah PDF ke EMF


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Buka dokumen PDF
document = Api.Document(input_pdf)

# Buat objek Resolusi
resolution = Device.Resolution(300)
device = Device.EmfDevice(resolution)

for i in range(0, document.getPages.size):
    # Buat nama file untuk disimpan
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.emf"
    # Konversi halaman tertentu dan simpan gambar ke file
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

Mengubah PDF ke JPEG


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Buka dokumen PDF
document = Api.Document(input_pdf)

# Buat objek Resolusi
resolution = Device.Resolution(300)
device = Device.JpegDevice(resolution)

for i in range(0, document.getPages.size):
    # Buat nama file untuk disimpan
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.jpeg"
    # Konversi halaman tertentu dan simpan gambar ke file
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

Konversi PDF ke PNG


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Buka dokumen PDF
document = Api.Document(input_pdf)

# Buat objek Resolusi
resolution = Device.Resolution(300)
device = Device.PngDevice(resolution)

for i in range(0, document.getPages.size):
    # Buat nama file untuk disimpan
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.png"
    # Konversi halaman tertentu dan simpan gambar ke file
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

Konversi PDF ke GIF


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Buka dokumen PDF
document = Api.Document(input_pdf)

# Buat objek Resolusi
resolution = Device.Resolution(300)
device = Device.GifDevice(resolution)

for i in range(0, document.getPages.size):
    # Buat nama file untuk disimpan
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.gif"
    # Konversi halaman tertentu dan simpan gambar ke file
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

Konversi PDF menggunakan kelas SaveOptions

Bagian artikel ini menunjukkan kepada Anda cara mengonversi PDF ke SVG menggunakan Python dan kelas SaveOptions.

Scalable Vector Graphics (SVG) adalah keluarga spesifikasi dari format file berbasis XML untuk grafik vektor dua dimensi, baik statis maupun dinamis (interaktif atau animasi). Spesifikasi SVG adalah standar terbuka yang telah dikembangkan oleh World Wide Web Consortium (W3C) sejak tahun 1999.

Gambar SVG dan perilakunya didefinisikan dalam file teks XML. Ini berarti bahwa mereka dapat dicari, diindeks, diskript, dan jika diperlukan, dikompresi. Sebagai file XML, gambar SVG dapat dibuat dan diedit dengan editor teks apa pun, tetapi seringkali lebih nyaman untuk membuatnya dengan program menggambar seperti Inkscape.

Aspose.PDF untuk Python mendukung fitur untuk mengonversi gambar SVG ke format PDF dan juga menawarkan kemampuan untuk mengonversi file PDF ke format SVG. Untuk memenuhi persyaratan ini, kelas SvgSaveOptions telah diperkenalkan ke dalam namespace Aspose.PDF. Instansiasi objek dari SvgSaveOptions dan berikan sebagai argumen kedua ke metode Document.Save().

Cuplikan kode berikut menunjukkan langkah-langkah untuk mengonversi file PDF ke format SVG dengan Python.

Langkah-langkah: Mengonversi PDF ke SVG dalam Python

  1. Buat objek dari kelas Document.
  2. Buat objek SvgSaveOptions dengan pengaturan yang diperlukan.
  3. Panggil metode Document.Save() dan berikan objek SvgSaveOptions untuk mengonversi dokumen PDF ke SVG.

Mengonversi PDF ke SVG


from asposepdf import Api

documentName = "testdata/input.pdf"
doc = Api.Document(documentName, None)
documentOutName = "testout/out.svg"
doc.save(documentOutName, Api.SaveFormat.Svg)