Kode untuk mengompresi PDF dalam Python

Pustaka Python berperforma tinggi untuk mengoptimalkan PDF konten dan ukuran dengan mempertahankan kualitas asli dan data dasar

Ini adalah solusi profesional untuk mengompresi PDF menggunakan Python. Gunakan PDF API pengoptimalan kami untuk mengembangkan perangkat lunak tingkat tinggi yang tidak bergantung pada platform dengan Python. Cobalah secara online gratis!

Lihat cuplikan kode

Kompres PDF dalam Python

Pustaka Python ini memberi pengembang kemampuan untuk dengan cepat dan efisien mengompresi PDF dokumen secara terprogram. Dapatkan hasil PDF yang dioptimalkan dengan mudah untuk dicetak, diarsipkan, atau dibagikan melalui jaringan. Ini adalah solusi pemrosesan PDF dokumen mandiri untuk Python yang tidak memerlukan perangkat lunak pihak ketiga untuk diinstal.

Kurangi ukuran PDF menggunakan Python

Produk kami menyediakan pengembang Python dengan API terintegrasi untuk mengurangi ukuran PDF file. Kompresi PDF dilakukan dalam dua lintasan. Selama lintasan pertama, semua halaman PDF dikonversi ke format gambar. Produk kami menggunakan algoritme kompresi gambar adaptif dan sangat efisien yang memungkinkan pengembang mendapatkan keluaran PDF yang ringkas sambil mempertahankan kualitas dokumen yang optimal. Pada langkah berikutnya, urutan gambar dikompresi dan digabungkan untuk membentuk konten PDF file baru yang dioptimalkan.

Kompresi PDF menjadi mudah dengan 'Aspose.Words for Python via .NET'. Contoh berikut menunjukkan cara mengurangi ukuran PDF file dalam Python:

Contoh kode di Python untuk mengompresi PDF file
Unggah file yang ingin Anda optimalkan/kompres
Jalankan kode
Pilih format target dari daftar
50%
import aspose.words as aw

renderer = aw.pdf2word.fixedformats.PdfFixedRenderer()
pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions()
pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG
pdf_read_options.jpeg_quality = 50

with open ("Input.pdf", 'rb') as pdf_stream:
    pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options);

builder = aw.DocumentBuilder()
for i in range(0, len(pages_stream)):
    # Atur ukuran halaman maksimum untuk menghindari penskalaan gambar halaman saat ini.
    max_page_dimension = 1584
    page_setup = builder.page_setup
    set_page_size(page_setup, max_page_dimension, max_page_dimension)

    page_image = builder.insert_image(pages_stream[i])

    set_page_size(page_setup, page_image.width, page_image.height)
    page_setup.top_margin = 0
    page_setup.left_margin = 0
    page_setup.bottom_margin = 0
    page_setup.right_margin = 0

    if i != len(pages_stream) - 1:
        builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE)

save_options = aw.saving.PdfSaveOptions()
save_options.cache_background_graphics = true

builder.document.save("Output.pdf", save_options)

def set_page_size(page_setup, width, height):

    page_setup.page_width = width;
    page_setup.page_height = height;
import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar. image = Image.open(shape.image_data.to_stream()) # ... # Kompres gambar dan atur kembali ke bentuknya. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.PdfSaveOptions save_options.cache_background_graphics = true doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar. image = Image.open(shape.image_data.to_stream()) # ... # Kompres gambar dan atur kembali ke bentuknya. shape.image_data.set_image("yourCompressedImage") doc.save("Output.pdf") import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # Terserah pengembang untuk memilih perpustakaan untuk kompresi gambar. image = Image.open(shape.image_data.to_stream()) # ... # Kompres gambar dan atur kembali ke bentuknya. shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.OoxmlSaveOptions save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.InsertImage("Input.pdf") # Perbarui pengaturan halaman untuk memotong dokumen agar sesuai dengan ukuran gambar. pageSetup = builder.page_setup pageSetup.page_width = shape.width pageSetup.page_height = shape.height pageSetup.top_margin = 0 pageSetup.left_margin = 0 pageSetup.bottom_margin = 0 pageSetup.right_margin = 0 save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) doc.save("Output.pdf", save_options) import aspose.words as aw renderer = aw.pdf2word.fixedformats.PdfFixedRenderer() pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions() pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG pdf_read_options.jpeg_quality = 50 with open ("Input.pdf", 'rb') as pdf_stream: pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options); builder = aw.DocumentBuilder() for i in range(0, len(pages_stream)): # Atur ukuran halaman maksimum untuk menghindari penskalaan gambar halaman saat ini. max_page_dimension = 1584 page_setup = builder.page_setup set_page_size(page_setup, max_page_dimension, max_page_dimension) page_image = builder.insert_image(pages_stream[i]) set_page_size(page_setup, page_image.width, page_image.height) page_setup.top_margin = 0 page_setup.left_margin = 0 page_setup.bottom_margin = 0 page_setup.right_margin = 0 if i != len(pages_stream) - 1: builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE) save_options = aw.saving.PdfSaveOptions() save_options.cache_background_graphics = true builder.document.save("Output.pdf", save_options) def set_page_size(page_setup, width, height): page_setup.page_width = width; page_setup.page_height = height;
Jalankan kode

Cara kompres PDF Python

  1. Instal Aspose.Words for Python via .NET.
  2. Tambahkan referensi perpustakaan (impor perpustakaan) ke proyek Python Anda.
  3. Buka sumber PDF file di Python.
  4. Kompres PDF tanpa kehilangan kualitas.
  5. Panggil metode document_cleanup(). Kode yang dihasilkan dapat bervariasi tergantung pada format file output.
  6. Dapatkan hasil terkompresi sebagai PDF file.

Python perpustakaan untuk mengoptimalkan dan mengompresi PDF file

Kami meng-host paket Python kami di repositori PyPi. Silakan ikuti petunjuk langkah demi langkah tentang cara menginstal "Aspose.Words for Python via .NET" ke lingkungan pengembang Anda.

Persyaratan sistem

Paket ini kompatibel dengan Python ≥3.5 dan <3.12. Jika Anda mengembangkan perangkat lunak untuk Linux, silakan lihat persyaratan tambahan untuk gcc dan libpython di Dokumentasi Produk.

Pengoptimalan format file lain yang didukung

Anda dapat mengoptimalkan file dalam banyak format file lainnya:

5%

Berlangganan Pembaruan Produk Aspose

Dapatkan buletin bulanan dan penawaran langsung dikirim ke kotak surat Anda.

© Aspose Pty Ltd 2001-2024. Seluruh hak cipta.