Mengonversi PDF ke Berbagai Format Gambar dalam Python

Ikhtisar

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 mengonversi PDF ke gambar. Umumnya, kami menggunakan dua pendekatan: konversi menggunakan pendekatan Device dan konversi menggunakan SaveOption. Bagian ini akan menunjukkan kepada Anda bagaimana mengkonversi 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 berorientasi untuk konversi seluruh dokumen, tetapi ImageDevice - untuk halaman tertentu.

Konversi PDF menggunakan kelas DocumentDevice

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

Kelas TiffDevice (berdasarkan DocumentDevice) memungkinkan Anda untuk mengkonversi halaman PDF ke gambar TIFF. Kelas ini menyediakan metode bernama process yang memungkinkan Anda untuk mengkonversi semua halaman dalam file PDF ke 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 process untuk mengkonversi dokumen PDF ke TIFF.

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

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


    import aspose.pdf as ap

    input_pdf = DIR_INPUT + "sample.pdf"
    output_pdf = DIR_OUTPUT + "convert_pdf_to_tiff.tiff"
    # Buka dokumen PDF
    document = ap.Document(input_pdf)

    # Buat objek Resolusi
    resolution = ap.devices.Resolution(300)

    # Buat objek TiffSettings
    tiffSettings = ap.devices.TiffSettings()
    tiffSettings.compression = ap.devices.CompressionType.LZW
    tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
    tiffSettings.skip_blank_pages = False

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

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

Convert PDF menggunakan kelas ImageDevice

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

  • Kelas BmpDevice memungkinkan Anda untuk mengkonversi halaman PDF ke gambar BMP.

  • Kelas EmfDevice memungkinkan Anda untuk mengkonversi halaman PDF ke gambar EMF.

  • Kelas JpegDevice memungkinkan Anda untuk mengkonversi halaman PDF ke gambar JPEG.

  • Kelas PngDevice memungkinkan Anda untuk mengkonversi halaman PDF ke gambar PNG.

  • Kelas GifDevice memungkinkan Anda untuk mengkonversi halaman PDF ke gambar GIF.

Mari kita lihat bagaimana cara mengubah halaman PDF menjadi gambar.

Kelas BmpDevice menyediakan metode bernama process yang memungkinkan Anda untuk mengubah halaman tertentu dari file PDF menjadi format gambar BMP. Kelas lainnya memiliki metode yang sama. Jadi, jika kita perlu mengubah halaman PDF menjadi gambar, kita hanya perlu membuat instance dari kelas yang dibutuhkan.

Langkah-langkah berikut dan cuplikan kode dalam 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.

Konversi PDF ke BMP


    import aspose.pdf as ap

    input_pdf = DIR_INPUT + "many_pages.pdf"
    output_pdf = DIR_OUTPUT + "convert_pdf_to_bmp"
    # Buka dokumen PDF
    document = ap.Document(input_pdf)

    # Buat objek Resolution
    resolution = ap.devices.Resolution(300)
    device = ap.devices.BmpDevice(resolution)

    for i in range(0, len(document.pages)):
        # Buat file untuk menyimpan
        imageStream = io.FileIO(
            output_pdf + "_page_" + str(i + 1) + "_out.bmp", 'x'
        )
        # Konversi halaman tertentu dan simpan gambar ke stream
        device.process(document.pages[i + 1], imageStream)
        imageStream.close()

Konversi PDF ke EMF


    import aspose.pdf as ap

    input_pdf = DIR_INPUT + "sample.pdf"
    output_pdf = DIR_OUTPUT + "convert_pdf_to_emf"
    # Buka dokumen PDF
    document = ap.Document(input_pdf)

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

    for i in range(0, len(document.pages)):
        # Buat file untuk menyimpan
        imageStream = io.FileIO(
            output_pdf + "_page_" + str(i + 1) + "_out.emf", 'x'
        )
        # Konversi halaman tertentu dan simpan gambar ke stream
        device.process(document.pages[i + 1], imageStream)
        imageStream.close()

Konversi PDF ke JPEG


    import aspose.pdf as ap

    input_pdf = DIR_INPUT + "many_pages.pdf"
    output_pdf = DIR_OUTPUT + "convert_pdf_to_jpeg"
    # Buka dokumen PDF
    document = ap.Document(input_pdf)

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

    for i in range(0, len(document.pages)):
        # Buat file untuk menyimpan
        imageStream = io.FileIO(
            output_pdf + "_page_" + str(i + 1) + "_out.jpeg", "x"
        )
        # Konversi halaman tertentu dan simpan gambar ke stream
        device.process(document.pages[i + 1], imageStream)
        imageStream.close()  

Konversi PDF ke PNG


    import aspose.pdf as ap

    input_pdf = DIR_INPUT + "sample.pdf"
    output_pdf = DIR_OUTPUT + "convert_pdf_to_png"
    # Buka dokumen PDF
    document = ap.Document(input_pdf)

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

    for i in range(0, len(document.pages)):
        # Buat file untuk menyimpan
        imageStream = io.FileIO(
            output_pdf + "_page_" + str(i + 1) + "_out.png", 'x'
        )
        # Konversi halaman tertentu dan simpan gambar ke stream
        device.process(document.pages[i + 1], imageStream)
        imageStream.close()

Konversi PDF ke GIF


    import aspose.pdf as ap

    input_pdf = DIR_INPUT + "many_pages.pdf"
    output_pdf = DIR_OUTPUT + "convert_pdf_to_gif"
    # Buka dokumen PDF
    document = ap.Document(input_pdf)

    # Buat objek Resolusi
    resolution = ap.devices.Resolution(300)

    device = ap.devices.GifDevice(resolution)

    for i in range(0, len(document.pages)):
        # Buat file untuk menyimpan
        imageStream = io.FileIO(
            output_pdf + "_page_" + str(i + 1) + "_out.gif", 'x'
        )
        # Konversi halaman tertentu dan simpan gambar ke stream
        device.process(document.pages[i + 1], imageStream)
        # Tutup stream
        imageStream.close()  

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 sebuah 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 1999.

Gambar SVG dan perilakunya didefinisikan dalam file teks XML. Ini berarti bahwa mereka dapat dicari, diindeks, diskrip, 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 gambar seperti Inkscape.

Aspose.PDF untuk Python mendukung fitur untuk mengkonversi gambar SVG ke format PDF dan juga menawarkan kemampuan untuk mengkonversi file PDF ke format SVG. Untuk memenuhi persyaratan ini, kelas SvgSaveOptions telah diperkenalkan ke dalam namespace Aspose.PDF. Instansiasi objek 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 lewati objek SvgSaveOptions untuk mengonversi dokumen PDF ke SVG.

Konversi PDF ke SVG


    import aspose.pdf as ap

    input_pdf = DIR_INPUT + "sample.pdf"
    output_pdf = DIR_OUTPUT + "convert_pdf_to_svg.svg"
    # Buka dokumen PDF
    document = ap.Document(input_pdf)

    # Membuat sebuah objek dari SvgSaveOptions
    saveOptions = ap.SvgSaveOptions()

    # Jangan kompres gambar SVG ke arsip Zip
    saveOptions.compress_output_to_zip_archive = False
    saveOptions.treat_target_file_name_as_directory = True

    # Simpan output dalam file SVG
    document.save(output_pdf, saveOptions)