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.
DocumentPageCollection mutable exposée comme document.pagesPage.add_text()Page.add_image()Page.draw_rectangle() et Page.draw_line()PdfExtractor et get_text()has_next_page_text() et get_next_page_text()TextFragmentAbsorberDocument.replace_text()Document.redact_text(), éventuellement en dessinant une barre de superpositionPage.render()Page.save_as_image()Document.save_page_as_image()dpi et la qualité des bords avec antialiasRasterizedPage retournéDocument.formForm.add_text_field()Form.add_checkbox() et Form.add_radio_group()Form.add_list_box() et Form.add_combo_box()Field.value, puis aplatir avec Document.flatten()Document.encrypt() en utilisant les mots de passe utilisateur et propriétaireDocument.change_passwords() et Document.decrypt()PdfSignature.validate()PdfLoadLimits configurableValidationResultDocument.validate_pdfa()Document.convert_to_pdfa()Document.validate_pdfua()Document.auto_tag()Document.tagged_contentCré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")
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)
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())
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)