Αυτή είναι μια επαγγελματική λύση για τη συμπίεση του PDF χρησιμοποιώντας Python. Χρησιμοποιήστε το API βελτιστοποίησης PDF για να αναπτύξετε λογισμικό υψηλού επιπέδου, ανεξάρτητο από πλατφόρμα στην Python. Δοκιμάστε το online δωρεάν!
Αυτή η βιβλιοθήκη Python παρέχει στους προγραμματιστές τη δυνατότητα γρήγορης και αποτελεσματικής συμπίεσης PDF εγγράφων μέσω προγραμματισμού. Αποκτήστε εύκολα βελτιστοποιημένη έξοδο PDF έτοιμη για εκτύπωση, αρχειοθέτηση ή κοινή χρήση μέσω του δικτύου. Είναι μια αυτόνομη λύση επεξεργασίας PDF εγγράφων για Python που δεν απαιτεί την εγκατάσταση λογισμικού τρίτων.
Το προϊόν μας παρέχει στους προγραμματιστές Python ένα ενσωματωμένο API για τη μείωση του μεγέθους των PDF αρχείων. Η συμπίεση PDF πραγματοποιείται σε δύο περάσματα. Κατά το πρώτο πέρασμα, όλες οι σελίδες του PDF μετατρέπονται σε μορφή εικόνας. Το προϊόν μας χρησιμοποιεί προσαρμοστικούς και εξαιρετικά αποδοτικούς αλγόριθμους συμπίεσης εικόνας που επιτρέπουν στους προγραμματιστές να λαμβάνουν συμπαγή έξοδο PDF διατηρώντας παράλληλα τη βέλτιστη ποιότητα του εγγράφου. Στο επόμενο πέρασμα, η ακολουθία των εικόνων συμπιέζεται και συνδυάζεται για να σχηματίσει το περιεχόμενο ενός νέου, βελτιστοποιημένου PDF αρχείου.
Η συμπίεση PDF έγινε εύκολη με 'Aspose.Words for Python via .NET'. Το ακόλουθο παράδειγμα δείχνει πώς να μειώσετε το μέγεθος ενός PDF αρχείου σε Python:
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")
save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF)
shape.get_shape_renderer().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;
Φιλοξενούμε τα πακέτα Python μας στα αποθετήρια PyPi. Ακολουθήστε τις οδηγίες βήμα προς βήμα σχετικά με τον τρόπο εγκατάστασης του "Aspose.Words for Python via .NET" στο περιβάλλον προγραμματιστή σας.
Αυτό το πακέτο είναι συμβατό με Python ≥3.5 και <3.12. Εάν αναπτύσσετε λογισμικό για Linux, ρίξτε μια ματιά στις πρόσθετες απαιτήσεις για gcc και libpython στην Τεκμηρίωση προϊόντος.
Μπορείτε να βελτιστοποιήσετε αρχεία σε πολλές άλλες μορφές αρχείων: