Le code pour compresser PDF en Python

Bibliothèque Python hautes performances pour optimiser le contenu et la taille de PDF en conservant la qualité d'origine et les données de référence

Il s'agit d'une solution professionnelle pour compresser PDF en utilisant Python. Utilisez notre API d'optimisation PDF pour développer des logiciels de haut niveau indépendants de la plate-forme en Python. Essayez-le en ligne gratuitement!

Afficher l'extrait de code

Compresser PDF en Python

Cette Python bibliothèque offre aux développeurs la possibilité de compresser rapidement et efficacement des PDF documents par programmation. Obtenez facilement une sortie PDF optimisée prête pour l'impression, l'archivage ou le partage sur le réseau. Il s'agit d'une solution autonome de traitement de PDF documents pour Python qui ne nécessite l'installation d'aucun logiciel tiers.

Réduire la taille d'un PDF en utilisant Python

Notre produit fournit aux Python développeurs une API intégrée pour réduire la taille des PDF fichiers. La compression PDF est effectuée en deux passes. Lors du premier passage, toutes les pages du PDF sont converties au format image. Notre produit utilise des algorithmes de compression d'image adaptatifs et hautement efficaces qui permettent aux développeurs d'obtenir une sortie PDF compacte tout en maintenant la qualité optimale du document. Au passage suivant, la séquence d'images est compressée et combinée pour former le contenu d'un nouveau PDF fichier optimisé.

Compression PDF simplifiée avec 'Aspose.Words for Python via .NET'. L'exemple suivant montre comment réduire la taille d'un PDF fichier en Python:

Exemple de code dans Python pour compresser PDF fichiers
Téléchargez un fichier que vous souhaitez optimiser/compresser
Exécuter le code
Sélectionnez le format cible dans la liste
50%
pip install aspose-words
Copie
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)):
    # Définissez la taille de page maximale pour éviter la mise à l'échelle de l'image de la page actuelle.
    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: # C'est au développeur de choisir la bibliothèque pour la compression d'image. image = Image.open(shape.image_data.to_stream()) # ... # Compressez l'image et remettez-la à la forme. 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: # C'est au développeur de choisir la bibliothèque pour la compression d'image. image = Image.open(shape.image_data.to_stream()) # ... # Compressez l'image et remettez-la à la forme. 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: # C'est au développeur de choisir la bibliothèque pour la compression d'image. image = Image.open(shape.image_data.to_stream()) # ... # Compressez l'image et remettez-la à la forme. 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)): # Définissez la taille de page maximale pour éviter la mise à l'échelle de l'image de la page actuelle. 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;
Exécuter le code

Comment compresser PDF en Python

  1. Installez Aspose.Words for Python via .NET.
  2. Ajoutez une référence de bibliothèque (importez la bibliothèque) à votre projet Python.
  3. Ouvrez le fichier source PDF dans Python.
  4. Compressez PDF sans perte de qualité.
  5. Appelez la méthode document_cleanup(). Le code résultant peut varier en fonction du format du fichier de sortie.
  6. Obtenez le résultat compressé sous forme de PDF fichier.

Python bibliothèque pour optimiser et compresser PDF fichiers

Nous hébergeons Python dans des référentiels PyPi. Veuillez suivre les instructions étape par étape sur la façon d'installer "Aspose.Words for Python via .NET" dans votre environnement de développeur.

Configuration requise

Ce package est compatible avec Python ≥3.5 et <3.12. Si vous développez des logiciels pour Linux, veuillez consulter les exigences supplémentaires pour gcc et libpython dans Product Documentation.

Autres optimisations de format de fichier prises en charge

Vous pouvez optimiser des fichiers dans de nombreux autres formats de fichiers:

5%

Abonnez-vous aux mises à jour des produits Aspose

Recevez des newsletters mensuelles et des offres directement dans votre boîte mail.

© Aspose Pty Ltd 2001-2024. Tous les droits sont réservés.