Ο κώδικας για συμπίεση PDF σε Python

Βιβλιοθήκη Python υψηλής απόδοσης για βελτιστοποίηση περιεχομένου και μεγέθους PDF διατηρώντας την αρχική ποιότητα και τα βασικά δεδομένα

Αυτή είναι μια επαγγελματική λύση για τη συμπίεση του PDF χρησιμοποιώντας Python. Χρησιμοποιήστε το API βελτιστοποίησης PDF για να αναπτύξετε λογισμικό υψηλού επιπέδου, ανεξάρτητο από πλατφόρμα στην Python. Δοκιμάστε το online δωρεάν!

Προβολή αποσπάσματος κώδικα

Συμπίεση PDF σε Python

Αυτή η βιβλιοθήκη Python παρέχει στους προγραμματιστές τη δυνατότητα γρήγορης και αποτελεσματικής συμπίεσης PDF εγγράφων μέσω προγραμματισμού. Αποκτήστε εύκολα βελτιστοποιημένη έξοδο PDF έτοιμη για εκτύπωση, αρχειοθέτηση ή κοινή χρήση μέσω του δικτύου. Είναι μια αυτόνομη λύση επεξεργασίας PDF εγγράφων για Python που δεν απαιτεί την εγκατάσταση λογισμικού τρίτων.

Μειώστε το μέγεθος ενός PDF χρησιμοποιώντας Python

Το προϊόν μας παρέχει στους προγραμματιστές Python ένα ενσωματωμένο API για τη μείωση του μεγέθους των PDF αρχείων. Η συμπίεση PDF πραγματοποιείται σε δύο περάσματα. Κατά το πρώτο πέρασμα, όλες οι σελίδες του PDF μετατρέπονται σε μορφή εικόνας. Το προϊόν μας χρησιμοποιεί προσαρμοστικούς και εξαιρετικά αποδοτικούς αλγόριθμους συμπίεσης εικόνας που επιτρέπουν στους προγραμματιστές να λαμβάνουν συμπαγή έξοδο PDF διατηρώντας παράλληλα τη βέλτιστη ποιότητα του εγγράφου. Στο επόμενο πέρασμα, η ακολουθία των εικόνων συμπιέζεται και συνδυάζεται για να σχηματίσει το περιεχόμενο ενός νέου, βελτιστοποιημένου PDF αρχείου.

Η συμπίεση PDF έγινε εύκολη με 'Aspose.Words for Python via .NET'. Το ακόλουθο παράδειγμα δείχνει πώς να μειώσετε το μέγεθος ενός PDF αρχείου σε Python:

Παράδειγμα κώδικα στο Python για συμπίεση PDF αρχείων
Ανεβάστε ένα αρχείο που θέλετε να βελτιστοποιήσετε/συμπιέσετε
Εκτέλεση κώδικα
Επιλέξτε τη μορφή προορισμού από τη λίστα
50%
pip install aspose-words
αντίγραφο
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)):
    # Ρυθμίστε το μέγιστο μέγεθος σελίδας για να αποφύγετε την κλιμάκωση της τρέχουσας εικόνας σελίδας.
    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: # Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για τη συμπίεση εικόνας. image = Image.open(shape.image_data.to_stream()) # ... # Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα. 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: # Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για συμπίεση εικόνας. image = Image.open(shape.image_data.to_stream()) # ... # Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα. 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: # Εναπόκειται στον προγραμματιστή να επιλέξει τη βιβλιοθήκη για τη συμπίεση εικόνας. image = Image.open(shape.image_data.to_stream()) # ... # Συμπιέστε την εικόνα και επαναφέρετέ την στο σχήμα. 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") # Ενημερώστε τις ρυθμίσεις σελίδας για να περικόψετε το έγγραφο ώστε να ταιριάζει στο μέγεθος της εικόνας. 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)): # Ρυθμίστε το μέγιστο μέγεθος σελίδας για να αποφύγετε την κλιμάκωση της τρέχουσας εικόνας σελίδας. 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;
Εκτέλεση κώδικα

Τρόπος συμπίεσης PDF

  1. Εγκαταστήστε Aspose.Words for Python via .NET.
  2. Προσθέστε μια αναφορά βιβλιοθήκης (εισαγωγή της βιβλιοθήκης) στο έργο σας Python.
  3. Ανοίξτε το αρχείο πηγής PDF στο Python.
  4. Συμπιέστε το PDF χωρίς απώλεια ποιότητας.
  5. Καλέστε τη μέθοδο document_cleanup(). Ο κώδικας που προκύπτει μπορεί να διαφέρει ανάλογα με τη μορφή αρχείου εξόδου.
  6. Λάβετε το συμπιεσμένο αποτέλεσμα ως PDF αρχείο.

Python βιβλιοθήκη για βελτιστοποίηση και συμπίεση PDF αρχείων

Φιλοξενούμε τα πακέτα Python μας στα αποθετήρια PyPi. Ακολουθήστε τις οδηγίες βήμα προς βήμα σχετικά με τον τρόπο εγκατάστασης του "Aspose.Words for Python via .NET" στο περιβάλλον προγραμματιστή σας.

Απαιτήσεις συστήματος

Αυτό το πακέτο είναι συμβατό με Python ≥3.5 και <3.12. Εάν αναπτύσσετε λογισμικό για Linux, ρίξτε μια ματιά στις πρόσθετες απαιτήσεις για gcc και libpython στην Τεκμηρίωση προϊόντος.

Άλλες υποστηριζόμενες βελτιστοποιήσεις μορφής αρχείου

Μπορείτε να βελτιστοποιήσετε αρχεία σε πολλές άλλες μορφές αρχείων:

5%

Εγγραφείτε στις ενημερώσεις προϊόντων Aspose

Λάβετε μηνιαία ενημερωτικά δελτία και προσφορές απευθείας στο γραμματοκιβώτιό σας.

© Aspose Pty Ltd 2001-2024. Ολα τα δικαιώματα διατηρούνται.