Konversi PDF ke Format Gambar di Python

Python Mengonversi PDF ke Gambar

Aspose.PDF for Python via .NET mendukung beberapa cara untuk mengonversi konten PDF ke gambar. Pada praktiknya, kebanyakan alur kerja menggunakan salah satu dari dua opsi:

  • pendekatan Device untuk merender halaman PDF ke format gambar raster
  • pendekatan SaveOptions untuk mengekspor konten PDF ke SVG

Artikel ini menunjukkan cara mengonversi file PDF ke TIFF, BMP, EMF, JPEG, PNG, GIF, dan SVG.

Perpustakaan mencakup beberapa kelas rendering. DocumentDevice dirancang untuk konversi seluruh dokumen, sementara ImageDevice menargetkan halaman individu.

Konversi PDF menggunakan kelas DocumentDevice

Gunakan DocumentDevice ketika Anda ingin merender seluruh PDF menjadi satu file TIFF multi‑halaman.

The Perangkat Tiff kelas didasarkan pada DocumentDevice dan menyediakan proses metode untuk mengonversi semua halaman dalam file PDF menjadi satu output TIFF.

Konversi Halaman PDF menjadi Satu Gambar TIFF

Aspose.PDF for Python via .NET dapat merender setiap halaman dalam file PDF menjadi satu gambar TIFF.

Langkah: Konversi PDF ke TIFF di Python

  1. Muat PDF sumber dengan Document kelas.
  2. Buat PengaturanTiff dan Perangkat Tiff objek.
  3. Konfigurasikan opsi TIFF seperti kompresi, kedalaman warna, dan penanganan halaman kosong.
  4. Panggil proses metode untuk menulis file TIFF.

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

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_TIFF(infile, outfile):
    document = ap.Document(infile)

    resolution = ap.devices.Resolution(300)
    tiffSettings = ap.devices.TiffSettings()
    tiffSettings.compression = ap.devices.CompressionType.LZW
    tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
    tiffSettings.skip_blank_pages = False

    tiffDevice = ap.devices.TiffDevice(resolution, tiffSettings)
    tiffDevice.process(document, f"{outfile}.tiff")

    print(infile + " converted into " + outfile)

Konversi PDF menggunakan kelas ImageDevice

Gunakan ImageDevice ketika Anda membutuhkan output per halaman dalam format gambar raster.

ImageDevice adalah kelas dasar untuk BmpDevice, JpegDevice, GifDevice, PngDevice, dan EmfDevice.

  • The BmpDevice class memungkinkan Anda mengonversi halaman PDF menjadi gambar BMP.
  • The Perangkat EMF kelas memungkinkan Anda mengonversi halaman PDF menjadi gambar EMF.
  • The JpegDevice kelas memungkinkan Anda mengonversi halaman PDF menjadi gambar JPEG.
  • The PngDevice kelas memungkinkan Anda untuk mengonversi halaman PDF menjadi gambar PNG.
  • The GifDevice kelas memungkinkan Anda mengonversi halaman PDF menjadi gambar GIF.

Alur kerja sama untuk setiap format: muat dokumen, buat perangkat yang sesuai, kemudian proses halaman yang diperlukan.

BmpDevice mengekspos proses metode untuk merender halaman tertentu sebagai BMP. Kelas perangkat gambar lain mengikuti pola yang sama, sehingga Anda dapat mengubah format dengan mengubah kelas perangkat.

Tautan dan contoh kode berikut menunjukkan cara merender halaman PDF ke format gambar umum:

Langkah: PDF ke Gambar (BMP, EMF, JPG, PNG, GIF) di Python

  1. Muat file PDF dengan Document kelas.
  2. Buat sebuah instance dari yang diperlukan Perangkat Gambar subkelas:
  3. Iterasi halaman yang ingin Anda ekspor.
  4. Panggil ImageDevice.process() metode untuk menyimpan setiap halaman sebagai gambar.

Konversi PDF ke BMP

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_BMP(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.BmpDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.bmp", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Konversi PDF ke EMF

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_EMF(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.EmfDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.emf", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Konversi PDF ke JPEG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_JPEG(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.JpegDevice(resolution)
    page_count = 1

    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.jpeg", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Konversi PDF ke PNG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_PNG(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)

    device = ap.devices.PngDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

Konversi PDF ke PNG dengan font default

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_PNG_with_default_font(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)

    rendering_options = ap.RenderingOptions()
    rendering_options.default_font_name = "Arial"

    device = ap.devices.PngDevice(resolution)
    device.rendering_options = rendering_options

    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

Konversi PDF ke GIF

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_GIF(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.GifDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.gif", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Konversi PDF menggunakan kelas SaveOptions

Gunakan SaveOptions ketika Anda ingin mengekspor konten PDF ke SVG.

Scalable Vector Graphics (SVG) adalah format berbasis XML untuk grafik vektor dua dimensi. Karena SVG tetap berbasis vektor, format ini berguna ketika Anda membutuhkan output yang dapat diskalakan untuk web, UI, atau alur kerja desain.

File SVG berbasis teks, dapat dicari, dan mudah diproses lanjutan di alat lain.

Aspose.PDF for Python via .NET dapat mengonversi SVG ke PDF dan mengekspor halaman PDF ke SVG. Untuk konversi PDF-ke-SVG, buat sebuah SvgSaveOptions objek dan berikan ke document.save() metode.

Langkah-langkah berikut menunjukkan cara mengonversi file PDF ke SVG dengan Python.

Langkah: Mengonversi PDF ke SVG di Python

  1. Muat PDF sumber menggunakan Document kelas.
  2. Buat sebuah SvgSaveOptions objek dan konfigurasikan opsi yang diperlukan.
  3. Panggil document.save() metode dengan SvgSaveOptions instance untuk menulis output SVG.

Konversi PDF ke SVG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_SVG(infile, outfile):
    document = ap.Document(infile)

    save_options = ap.SvgSaveOptions()
    save_options.compress_output_to_zip_archive = False
    save_options.treat_target_file_name_as_directory = True

    document.save(f"{outfile}.svg", save_options)

Konversi terkait