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

Aspose.PDF FOSS per Python

Libreria open-source Python per creare, leggere, modificare, renderizzare e convalidare documenti PDF — con licenza MIT senza costi di runtime.

Aspose.PDF FOSS — Open Source Python Libreria PDF

Aspose.PDF FOSS for Python è una libreria open-source per creare, leggere, modificare, renderizzare e convalidare documenti PDF. Realizzata per Python 3.11 e versioni successive, include informazioni sui tipi e si integra in qualsiasi progetto Python (vedi la sezione di installazione qui sotto). Il progetto è attualmente in versione alpha, quindi le API e la copertura delle funzionalità continuano a evolversi prima del primo rilascio stabile.

La classe Document è il punto di ingresso centrale, espone pages, form, outlines, e tagged_content per la modifica strutturale insieme alle operazioni encrypt, decrypt, merge, optimize e flatten. Il testo viene aggiunto con Page.add_text() e estratto o ricercato con PdfExtractor e TextFragmentAbsorber, includendo la sostituzione e la redazione basate su frasi e espressioni regolari. Le pagine vengono renderizzate in immagini raster PNG o TIFF tramite Page.render() e Page.save_as_image(). I campi interattivi AcroForm sono creati e compilati tramite Form e Field, e i documenti possono essere verificati o convertiti verso la conformità PDF/A e PDF/UA con Document.validate_pdfa(), Document.convert_to_pdfa(), e Document.auto_tag().

Aspose.PDF FOSS for Python è rilasciato sotto licenza MIT senza costi di runtime o restrizioni d’uso. Il pacchetto principale dipende solo da cryptography e asn1crypto, con extra opzionali per il supporto alle immagini basato su Pillow, la decodifica WOFF2 basata su Brotli e il layout di testo complesso basato su HarfBuzz. Per funzionalità enterprise e supporto, vedi Aspose.PDF per Python — Enterprise Product.

Operazioni su Documenti e Pagine

  • Crea, carica, salva e unisci PDF tramite Document
  • Gestisci le pagine con la PageCollection mutabile esposta come document.pages
  • Aggiungi testo Standard-14 o Unicode incorporato posizionato con Page.add_text()
  • Posiziona immagini raw, JPEG o PNG sulle pagine con Page.add_image()
  • Disegna forme vettoriali con Page.draw_rectangle() e Page.draw_line()

Scenari pratici

  • Generare fatture, certificati e report programmaticamente
  • Produrre in batch documenti da un modello condiviso
  • Assemblare report multipagina da sezioni generate
  • Creare PDF interamente in memoria all’interno di un servizio web

Estrazione del testo e ricerca

  • Estrarre tutto il testo della pagina con PdfExtractor e get_text()
  • Iterare il testo pagina per pagina con has_next_page_text() e get_next_page_text()
  • Cercare frasi esatte e pattern regex con TextFragmentAbsorber
  • Sostituire il testo corrispondente con Document.replace_text()
  • Redigere il testo corrispondente con Document.redact_text(), opzionalmente disegnando una barra di sovrapposizione

Scenari pratici

  • Creare indici di ricerca full-text su archivi di documenti
  • Redigere le informazioni personalmente identificabili prima della condivisione
  • Trovare e sostituire il testo boilerplate nei contratti templati
  • Verificare i documenti in ingresso per termini sensibili

Rendering della pagina in immagini

  • Renderizza una pagina in un raster RGB indipendente dalle dipendenze con Page.render()
  • Salva l’output renderizzato come PNG o TIFF tramite Page.save_as_image()
  • Esegui il rendering batch di interi documenti con Document.save_page_as_image()
  • Controlla la risoluzione con il parametro dpi e la qualità dei bordi con antialias
  • Leggi i dati pixel grezzi dalla RasterizedPage restituita

Scenari pratici

  • Genera miniature di pagina per una libreria di gestione documenti
  • Produci prove TIFF pronte per la stampa da layout finalizzati
  • Crea gallerie di anteprima pagina per un visualizzatore di documenti
  • Converti archivi PDF legacy in formati di visualizzazione basati su immagine

Moduli e campi interattivi

  • Leggi e itera i campi AcroForm tramite Document.form
  • Crea campi di testo con Form.add_text_field()
  • Crea caselle di controllo e gruppi radio con Form.add_checkbox() e Form.add_radio_group()
  • Crea elenchi a discesa e caselle combinate con Form.add_list_box() e Form.add_combo_box()
  • Imposta i valori per nome campo tramite Field.value, quindi appiattisci con Document.flatten()

Scenari pratici

  • Automatizzare le pipeline di compilazione di fatture e contratti
  • Pre-popolare i modelli di applicazione prima della distribuzione
  • Archiviare i moduli compilati come PDF statici non modificabili
  • Estrarre i valori dei campi inviati per l’elaborazione a valle

Sicurezza, crittografia e firme

  • Cifra i documenti con Document.encrypt() usando le password utente e proprietario
  • Modifica o cancella le password con Document.change_passwords() e Document.decrypt()
  • Convalida le firme digitali incorporate con PdfSignature.validate()
  • Limita l’input non attendibile con PdfLoadLimits configurabili
  • Ispeziona il firmatario, la fiducia e lo stato di revoca tramite ValidationResult

Scenari pratici

  • Proteggi i rapporti confidenziali con password per destinatario
  • Verifica i contratti firmati prima dell’archiviazione
  • Rinforza una pipeline di ingestione PDF contro upload dannosi
  • Applica restrizioni di stampa e copia sui file distribuiti

Conformità PDF/A e PDF/UA

  • Esegui la convalida heuristica PDF/A con Document.validate_pdfa()
  • Converti i documenti verso PDF/A con Document.convert_to_pdfa()
  • Esegui controlli di accessibilità heuristici PDF/UA con Document.validate_pdfua()
  • Applica automaticamente i tag al contenuto della pagina esistente in un albero di struttura con Document.auto_tag()
  • Ispeziona e modifica l’albero dei tag tramite Document.tagged_content

Scenari pratici

  • Preparare i documenti in uscita per l’archiviazione digitale a lungo termine
  • Verificare i PDF in ingresso per eventuali lacune di accessibilità prima della pubblicazione
  • Redigere report di conformità per settori regolamentati
  • Rimodellare i PDF legacy per adeguarli agli standard di accessibilità

Crea un PDF e aggiungi testo

Crea un nuovo documento PDF e aggiungi del testo posizionato a una pagina in poche righe.

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")

Renderizza una pagina in un’immagine

Carica un PDF esistente e salva la sua prima pagina come immagine raster a una DPI configurabile.

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)

Estrai il testo da un PDF

Associa un documento e estrai tutto il testo delle sue pagine con la facciata dell’estrattore.

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

Unisci file PDF

Concatena diversi file PDF in un unico documento di output.

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)
  

Risorse di Supporto e Apprendimento

 Italiano