Aspose.PDF FOSS for Python es una biblioteca de código abierto para crear, leer, editar, renderizar y validar documentos PDF. Construida para Python 3.11 y posteriores, incluye información de tipos e integra en cualquier proyecto Python (ver la sección de instalación a continuación). El proyecto está actualmente en alfa, por lo que las API y la cobertura de funciones siguen evolucionando antes del primer lanzamiento estable.
La clase Document es el punto de entrada central, exponiendo pages, form, outlines,
y tagged_content para la edición estructural junto con las operaciones encrypt, decrypt, merge,
optimize y flatten. El texto se agrega con Page.add_text() y se extrae
o busca con PdfExtractor y TextFragmentAbsorber, incluyendo reemplazo y redacción basados en frases y
expresiones regulares. Las páginas se renderizan a imágenes raster PNG o TIFF mediante
Page.render() y Page.save_as_image(). Los campos interactivos de AcroForm se crean y
rellenan a través de Form y Field, y los documentos pueden verificarse o convertirse para
cumplir con PDF/A y PDF/UA mediante Document.validate_pdfa(), Document.convert_to_pdfa(),
y Document.auto_tag().
Aspose.PDF FOSS for Python se publica bajo la licencia MIT sin tarifas de tiempo de ejecución ni
restricciones de uso. El paquete central depende solo de cryptography y asn1crypto,
con extras opcionales para soporte de imágenes basado en Pillow, decodificación WOFF2 basada en Brotli y
diseño de texto complejo basado en HarfBuzz. Para funciones y soporte empresarial, consulte
Aspose.PDF for Python — Enterprise Product.
DocumentPageCollection expuesta como document.pagesPage.add_text()Page.add_image()Page.draw_rectangle() y Page.draw_line()PdfExtractor y get_text()has_next_page_text() y get_next_page_text()TextFragmentAbsorberDocument.replace_text()Document.redact_text(), opcionalmente dibujando una barra superpuestaPage.render()Page.save_as_image()Document.save_page_as_image()dpi y la calidad de los bordes con antialiasRasterizedPage devueltoDocument.formForm.add_text_field()Form.add_checkbox() y Form.add_radio_group()Form.add_list_box() y Form.add_combo_box()Field.value, luego aplanar con Document.flatten()Document.encrypt() usando contraseñas de usuario y propietarioDocument.change_passwords() y Document.decrypt()PdfSignature.validate()PdfLoadLimits configurableValidationResultDocument.validate_pdfa()Document.convert_to_pdfa()Document.validate_pdfua()Document.auto_tag()Document.tagged_contentCree un nuevo documento PDF y añada texto posicionado a una página en unas pocas líneas.
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")
Cargue un PDF existente y guarde su primera página como una imagen rasterizada a una 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)
Vincula un documento y extrae todo el texto de sus páginas con la fachada del extractor.
from aspose_pdf import PdfExtractor
with PdfExtractor() as extractor:
extractor.bind_pdf("input.pdf")
extractor.extract_text()
print(extractor.get_text())
Concatene varios archivos PDF en un único documento de salida.
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)