Python PDF sıkıştırmak için kod

Orijinal kaliteyi ve temel verileri koruyarak PDF içeriğini ve boyutunu optimize etmek için yüksek performanslı Python kitaplığı

Bu, Python kullanarak PDF sıkıştırmak için profesyonel bir çözümdür. Python'da üst düzey, platformdan bağımsız yazılım geliştirmek için PDF optimizasyon API'mizi kullanın. Ücretsiz olarak çevrimiçi deneyin!

Kod parçacığını görüntüle

Python'te PDF'yi sıkıştır

Bu Python kitaplığı, geliştiricilere PDF belgelerini programlı olarak hızlı ve verimli bir şekilde sıkıştırma yeteneği sağlar. Ağ üzerinden yazdırma, arşivleme veya paylaşma için kolayca optimize edilmiş PDF çıktısı alın. Python için herhangi bir üçüncü taraf yazılımının yüklenmesini gerektirmeyen bağımsız bir PDF belge işleme çözümüdür.

Python kullanarak bir PDF'nin boyutunu küçültme

Ürünümüz, Python geliştiricilerine PDF dosyalarının boyutunu küçültmek için entegre bir API sağlar. PDF sıkıştırması iki geçişte gerçekleştirilir. İlk geçiş sırasında, PDF'nin tüm sayfaları görüntü formatına dönüştürülür. Ürünümüz, geliştiricilerin belgenin en iyi kalitesini korurken kompakt PDF çıktısı almasına olanak tanıyan uyarlanabilir ve yüksek verimli görüntü sıkıştırma algoritmaları kullanır. Bir sonraki geçişte, görüntü dizisi sıkıştırılır ve yeni, optimize edilmiş bir PDF dosyasının içeriğini oluşturmak için birleştirilir.

'Aspose.Words for Python via .NET' ile PDF sıkıştırması kolaylaştı. Aşağıdaki örnek, Python'te bir PDF dosyasının boyutunun nasıl küçültüldüğünü gösterir:

PDF dosyayı sıkıştırmak için Python içindeki kod örneği
Optimize etmek/sıkıştırmak istediğiniz bir dosyayı yükleyin
Kodu çalıştır
Listeden hedef formatı seçin
50%
pip install aspose-words
Kopyala
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)):
    # Geçerli sayfa görüntüsü ölçeklemesinden kaçınmak için maksimum sayfa boyutunu ayarlayın.
    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: # Görüntü sıkıştırma için kitaplığı seçmek geliştiriciye kalmıştır. image = Image.open(shape.image_data.to_stream()) # ... # Görüntüyü sıkıştırın ve şekle geri ayarlayın. 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: # Görüntü sıkıştırma için kitaplığı seçmek geliştiriciye kalmıştır. image = Image.open(shape.image_data.to_stream()) # ... # Resmi sıkıştırın ve şekle geri ayarlayın. 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: # Görüntü sıkıştırma için kitaplığı seçmek geliştiriciye kalmıştır. image = Image.open(shape.image_data.to_stream()) # ... # Görüntüyü sıkıştırın ve şekle geri ayarlayın. 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") # Belgeyi resmin boyutuna sığdırmak için sayfa ayarlarını güncelleyin. 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)): # Geçerli sayfa görüntüsü ölçeklemesinden kaçınmak için maksimum sayfa boyutunu ayarlayın. 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;
Kodu çalıştır

PDF nasıl sıkıştırılır

  1. Aspose.Words for Python via .NET yükleyin.
  2. Python projenize bir kitaplık referansı ekleyin (kitaplığı içe aktarın).
  3. Kaynak PDF dosyasını Python içinde açın.
  4. PDF öğesini kaliteden ödün vermeden sıkıştırın.
  5. document_cleanup() yöntemini çağırın. Ortaya çıkan kod, çıktı dosyası biçimine bağlı olarak değişebilir.
  6. Sıkıştırılmış sonucu bir PDF dosyası olarak alın.

PDF dosyaları optimize etmek ve sıkıştırmak için Python kitaplığı

Python paketlerimizi PyPi depolarında barındırıyoruz. "Aspose.Words for Python via .NET" geliştirici ortamınıza nasıl kuracağınızla ilgili adım adım talimatları izleyin.

sistem gereksinimleri

Bu paket Python ≥3.5 ve <3.12 ile uyumludur. Linux için yazılım geliştiriyorsanız, lütfen Ürün Belgelerinde gcc ve libpython için ek gereksinimlere bakın.

Desteklenen diğer dosya formatı optimizasyonları

Dosyaları diğer birçok dosya biçiminde optimize edebilirsiniz:

5%

Aspose Ürün Güncellemelerine Abone Olun

Doğrudan posta kutunuza teslim edilen aylık bültenleri ve teklifleri alın.

© Aspose Pty Ltd 2001-2024. Her hakkı saklıdır.