1. Produits
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Aspose.PDF FOSS pour Python

Bibliothèque Python open-source pour créer, lire, modifier, rendre et valider les documents PDF — sous licence MIT sans frais d’exécution.

Aspose.PDF FOSS — Bibliothèque PDF Python Open Source

Aspose.PDF FOSS for Python est une bibliothèque open-source pour créer, lire, modifier, rendre et valider des documents PDF. Conçue pour Python 3.11 et versions ultérieures, elle fournit des informations de type information et s’intègre à tout projet Python (voir la section d’installation ci-dessous). Le projet est actuellement en phase alpha, ainsi les API et la couverture fonctionnelle continuent d’évoluer avant de la première version stable.

La classe Document est le point d’entrée central, exposant pages, form, outlines, et tagged_content pour l’édition structurelle ainsi que les opérations encrypt, decrypt, merge, optimize et flatten. Le texte est ajouté avec Page.add_text() et extrait ou recherché avec PdfExtractor et TextFragmentAbsorber, incluant le remplacement et la rédaction basés sur des phrases et remplacement et rédaction basés sur des expressions régulières. Les pages sont rendues en images raster PNG ou TIFF via Page.render() et Page.save_as_image(). Les champs AcroForm interactifs sont créés et remplis via Form et Field, et les documents peuvent être vérifiés ou convertis vers la conformité PDF/A et PDF/UA avec Document.validate_pdfa(), Document.convert_to_pdfa(), et Document.auto_tag().

Aspose.PDF FOSS for Python est publié sous licence MIT sans frais d’exécution ni restrictions d’utilisation. Le package principal ne dépend que de cryptography et asn1crypto, avec des options supplémentaires pour le support d’images basé sur Pillow, le décodage WOFF2 basé sur Brotli, et la mise en page de texte complexe basée sur HarfBuzz. Pour les fonctionnalités et le support entreprise, voir Aspose.PDF for Python — Enterprise Product.

Opérations de document et de page

  • Créez, chargez, enregistrez et fusionnez des PDF via Document
  • Gérez les pages avec la PageCollection mutable exposée comme document.pages
  • Ajoutez du texte Standard-14 positionné ou du texte Unicode incorporé avec Page.add_text()
  • Placez des images brutes, JPEG ou PNG sur les pages avec Page.add_image()
  • Dessinez des formes vectorielles avec Page.draw_rectangle() et Page.draw_line()

Scénarios pratiques

  • Générer des factures, certificats et rapports de manière programmatique
  • Produire en lot des documents à partir d’un modèle partagé
  • Assembler des rapports multipages à partir de sections générées
  • Créer des PDF entièrement en mémoire au sein d’un service web

Extraction de texte et recherche

  • Extraire tout le texte des pages avec PdfExtractor et get_text()
  • Parcourir le texte page par page avec has_next_page_text() et get_next_page_text()
  • Rechercher des phrases exactes et des motifs regex avec TextFragmentAbsorber
  • Remplacer le texte correspondant avec Document.replace_text()
  • Caviarder le texte correspondant avec Document.redact_text(), éventuellement en dessinant une barre de superposition

Scénarios pratiques

  • Construire des index de recherche en texte intégral sur les archives de documents
  • Caviarder les informations personnellement identifiables avant le partage
  • Rechercher-et-remplacer le texte standard dans les contrats modèles
  • Auditer les documents entrants pour détecter les termes sensibles

Rendu de page en images

  • Rendre une page en un raster RGB sans dépendance avec Page.render()
  • Enregistrer la sortie rendue au format PNG ou TIFF via Page.save_as_image()
  • Rendre en lot des documents entiers avec Document.save_page_as_image()
  • Contrôler la résolution avec le paramètre dpi et la qualité des bords avec antialias
  • Lire les données de pixels brutes à partir du RasterizedPage retourné

Scénarios pratiques

  • Générer des miniatures de pages pour une bibliothèque de gestion de documents
  • Produire des épreuves TIFF prêtes à l’impression à partir de mises en page terminées
  • Créer des galeries d’aperçu de pages pour un visualiseur de documents
  • Convertir les archives PDF héritées en formats d’affichage basés sur des images

Formulaires et champs interactifs

  • Lire et parcourir les champs AcroForm via Document.form
  • Créer des champs de texte avec Form.add_text_field()
  • Créer des cases à cocher et des groupes radio avec Form.add_checkbox() et Form.add_radio_group()
  • Créer des listes et des boîtes combinées avec Form.add_list_box() et Form.add_combo_box()
  • Définir les valeurs par nom de champ via Field.value, puis aplatir avec Document.flatten()

Scénarios pratiques

  • Automatiser les pipelines de remplissage de factures et de contrats
  • Préremplir les modèles d’application avant distribution
  • Archiver les formulaires remplis en PDF non modifiables à contenu statique
  • Extraire les valeurs de champs soumises pour le traitement en aval

Sécurité, chiffrement et signatures

  • Chiffrer les documents avec Document.encrypt() en utilisant les mots de passe utilisateur et propriétaire
  • Modifier ou effacer les mots de passe avec Document.change_passwords() et Document.decrypt()
  • Valider les signatures numériques intégrées avec PdfSignature.validate()
  • Contraindre les entrées non fiables avec PdfLoadLimits configurable
  • Inspecter le signataire, la confiance et l’état de révocation via ValidationResult

Scénarios pratiques

  • Protéger les rapports confidentiels avec des mots de passe par destinataire
  • Vérifier les contrats signés avant l’archivage
  • Renforcer une chaîne d’ingestion PDF contre les téléchargements malveillants
  • Appliquer des restrictions d’impression et de copie sur les fichiers distribués

Conformité PDF/A et PDF/UA

  • Exécuter la validation heuristique PDF/A avec Document.validate_pdfa()
  • Convertir les documents vers PDF/A avec Document.convert_to_pdfa()
  • Exécuter les vérifications d’accessibilité heuristiques PDF/UA avec Document.validate_pdfua()
  • Étiqueter automatiquement le contenu de page existant en un arbre de structure avec Document.auto_tag()
  • Inspecter et modifier l’arbre de balises via Document.tagged_content

Scénarios pratiques

  • Préparer les documents sortants pour l’archivage numérique à long terme
  • Vérifier les PDF entrants pour détecter les lacunes d’accessibilité avant la publication
  • Élaborer des rapports de conformité pour les industries réglementées
  • Remédier aux PDF hérités afin de les conformer aux normes d’accessibilité

Créer un PDF et Ajouter du texte

Créez un nouveau document PDF et ajoutez du texte positionné à une page en quelques lignes.

git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .
from aspose_pdf import Document
with Document() as document:
    page = document.pages.add()
    page.add_text(
        "Hello from Aspose.PDF FOSS!",
        x=72,
        y=720,
        font_size=18,
    )
    document.save("hello.pdf")

Rendre une page en image

Chargez un PDF existant et enregistrez sa première page sous forme d’image raster à une résolution DPI configurable.

from aspose_pdf import Document
with Document() as document:
    document.load_from("input.pdf")
    document.pages[0].save_as_image("page-1.png", dpi=144)

Extraire le texte d’un PDF

Liez un document et récupérez tout le texte de ses pages à l’aide de la façade d’extracteur.

from aspose_pdf import PdfExtractor
with PdfExtractor() as extractor:
    extractor.bind_pdf("input.pdf")
    extractor.extract_text()
    print(extractor.get_text())

Fusionner des fichiers PDF

Concaténez plusieurs fichiers PDF en un seul document de sortie.

from aspose_pdf import PdfFileEditor
with PdfFileEditor() as editor:
    if not editor.concatenate(["part-1.pdf", "part-2.pdf"], "merged.pdf"):
        raise RuntimeError(editor.last_exception)
  

Ressources de support et d'apprentissage

 Français