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

Aspose.PDF FOSS para Python

Biblioteca Python de código abierto para crear, leer, editar, renderizar y validar documentos PDF — con licencia MIT sin tarifas de ejecución.

Aspose.PDF FOSS — Biblioteca PDF Python de código abierto

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.

Operaciones de documento y página

  • Crear, cargar, guardar y combinar PDFs a través de Document
  • Administrar páginas con la mutable PageCollection expuesta como document.pages
  • Añadir texto Unicode Standard-14 posicionado o incrustado con Page.add_text()
  • Colocar imágenes raw, JPEG o PNG en las páginas con Page.add_image()
  • Dibujar formas vectoriales con Page.draw_rectangle() y Page.draw_line()

Escenarios prácticos

  • Generar facturas, certificados y reportes de forma programática
  • Producir documentos por lotes a partir de una plantilla compartida
  • Ensamblar informes multipágina a partir de secciones generadas
  • Construir PDFs completamente en memoria dentro de un servicio web

Extracción de Texto y Búsqueda

  • Extrae todo el texto de la página con PdfExtractor y get_text()
  • Itera el texto página por página con has_next_page_text() y get_next_page_text()
  • Busca frases exactas y patrones regex con TextFragmentAbsorber
  • Reemplaza el texto coincidente con Document.replace_text()
  • Redacta el texto coincidente con Document.redact_text(), opcionalmente dibujando una barra superpuesta

Escenarios prácticos

  • Crear índices de búsqueda de texto completo sobre archivos de documentos
  • Eliminar información de identificación personal antes de compartir
  • Buscar y reemplazar textos estándar en contratos plantillados
  • Auditar documentos entrantes en busca de términos sensibles

Renderizado de página a imágenes

  • Renderizar una página a un raster RGB sin dependencias con Page.render()
  • Guardar la salida renderizada como PNG o TIFF mediante Page.save_as_image()
  • Renderizar por lotes documentos completos con Document.save_page_as_image()
  • Controlar la resolución con el parámetro dpi y la calidad de los bordes con antialias
  • Leer los datos de píxeles sin procesar del RasterizedPage devuelto

Escenarios prácticos

  • Generar miniaturas de página para una biblioteca de gestión de documentos
  • Producir pruebas TIFF listas para imprimir a partir de diseños terminados
  • Construir galerías de vista previa de páginas para un visor de documentos
  • Convertir archivos PDF heredados en formatos de visualización basados en imágenes

Formularios y campos interactivos

  • Leer e iterar los campos AcroForm a través de Document.form
  • Crear campos de texto con Form.add_text_field()
  • Crear casillas de verificación y grupos de botones de opción con Form.add_checkbox() y Form.add_radio_group()
  • Crear listas y cuadros combinados con Form.add_list_box() y Form.add_combo_box()
  • Establecer valores por nombre de campo mediante Field.value, luego aplanar con Document.flatten()

Escenarios prácticos

  • Automatizar tuberías de llenado de formularios de facturas y contratos
  • Pre-poblar plantillas de aplicación antes de la distribución
  • Archivar formularios completados como PDFs de contenido estático, no editables
  • Extraer los valores de los campos enviados para el procesamiento posterior

Seguridad, Cifrado y Firmas

  • Encriptar documentos con Document.encrypt() usando contraseñas de usuario y propietario
  • Cambiar o borrar contraseñas con Document.change_passwords() y Document.decrypt()
  • Validar firmas digitales incrustadas con PdfSignature.validate()
  • Limitar la entrada no confiable con PdfLoadLimits configurable
  • Inspeccionar firmante, confianza y estado de revocación a través de ValidationResult

Escenarios prácticos

  • Proteger informes confidenciales con contraseñas por destinatario
  • Verificar contratos firmados antes del archivado
  • Reforzar una canalización de ingestión de PDF contra cargas maliciosas
  • Aplicar restricciones de permisos de impresión y copia en archivos distribuidos

Cumplimiento de PDF/A y PDF/UA

  • Ejecutar validación heurística PDF/A con Document.validate_pdfa()
  • Convertir documentos a PDF/A con Document.convert_to_pdfa()
  • Ejecutar comprobaciones de accesibilidad heurísticas PDF/UA con Document.validate_pdfua()
  • Etiquetar automáticamente el contenido de página existente en un árbol de estructura con Document.auto_tag()
  • Inspeccionar y editar el árbol de etiquetas a través de Document.tagged_content

Escenarios prácticos

  • Preparar documentos salientes para el archivo digital a largo plazo
  • Examinar los PDFs entrantes en busca de brechas de accesibilidad antes de publicar
  • Generar informes de cumplimiento para industrias reguladas
  • Remediar PDFs heredados hacia los estándares de accesibilidad

Crear un PDF y Agregar Texto

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

Renderizar una página a una imagen

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)

Extraer texto de un PDF

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

Combinar archivos PDF

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)
  

Recursos de soporte y aprendizaje

 Español