Preguntas frecuentes
¿Cuál es el modelo de licencia para Aspose.PDF FOSS para Python?
Aspose.PDF FOSS para Python tiene licencia MIT. Es gratuito para usar en productos comerciales y no comerciales, sin clave de activación, límites de llamadas de API ni acuerdo comercial requerido.
¿Puedo usarlo en productos comerciales?
Sí. La licencia MIT permite el uso, la modificación y la redistribución en productos comerciales sin regalías ni atribución más allá del aviso de licencia.
¿Cómo instalo Aspose.PDF FOSS para Python?
Instálalo con el siguiente comando:
git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .Verifique la instalación:
import aspose_pdf
print("aspose_pdf OK")¿Qué versiones de Python son compatibles? ¿Hay dependencias nativas?
La biblioteca requiere Python 3.11 o posterior. Es un paquete puro-Python — no se necesitan módulos de extensión compilados ni dependencias nativas (C/C++) en la instalación o en tiempo de ejecución.
¿Qué formatos puede leer y escribir Aspose.PDF FOSS para Python?
Los documentos PDF nativos son el formato principal: Document abre y guarda archivos PDF directamente. Más allá de PDF, la biblioteca puede exportar un documento a HTML, Markdown o SVG pasando un valor DocFormat a Document.save(), y puede importar contenido fuente Html, Cdr, Svg, Cgm y Ofd mediante las clases correspondientes *LoadOptions (HtmlLoadOptions, CdrLoadOptions, CgmLoadOptions, OfdLoadOptions). Las páginas PDF renderizadas también pueden exportarse a imágenes raster a través de RasterizedPage.
¿Puedo exportar un PDF a HTML, Markdown o SVG?
Sí, para la exportación a HTML y Markdown; pase el miembro de enumeración DocFormat correspondiente a Document.save(), opcionalmente combinado con HtmlSaveOptions o MarkdownSaveOptions para controlar detalles del diseño como split_into_pages o extract_images.
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.save("output.html", save_format=aspose_pdf.DocFormat.HTML)¿Cómo creo un PDF nuevo desde cero?
Instanciar Document, añadir páginas con doc.pages.add(), colocar contenido con Page.add_text() o Page.add_image(), y luego llamar a Document.save():
import aspose_pdf
doc = aspose_pdf.Document()
page = doc.pages.add()
page.add_text("Monthly Report", x=72, y=720, font_size=18)
doc.save("report.pdf")¿Cómo renderizo una página PDF a una imagen?
Llame a Document.save_page_as_image() con un índice de página basado en cero y una ruta de destino; el DPI controla la resolución de salida:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.save_page_as_image(0, "page1.png", dpi=150)¿Cómo extraigo texto de un PDF?
Utilice TextAbsorber (o TextFragmentAbsorber), visite el documento y luego lea el texto recopilado:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
absorber = aspose_pdf.TextAbsorber()
absorber.visit(doc)
print(absorber.text)¿Cómo cifro un documento PDF?
Llame a Document.encrypt() con una contraseña de usuario, una contraseña de propietario y un valor de permisos:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.encrypt(user_password="user-pw", owner_password="owner-pw", permissions=0)
doc.save("encrypted.pdf")Document.decrypt(password) elimina el cifrado de un documento ya abierto, y Document.change_passwords() rota ambas contraseñas in situ.
¿Cómo leo o lleno los valores del campo AcroForm?
Acceda a la propiedad form del documento y itere Form.fields, o agregue nuevos campos con Form.add_text_field(), Form.add_checkbox() y métodos relacionados:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("submitted_form.pdf")
for field in doc.form.fields:
print(field.name, "=", field.value)¿Existen limitaciones conocidas en la versión actual?
Sí. Cinco métodos en cuatro clases son stubs no implementados en la versión actual: Shading._color_at, FontSource.get_font_definitions (y sus subclases FileFontSource, FolderFontSource, MemoryFontSource, SystemFontSource, que heredan el mismo stub), DataSource.read_bytes and DataSource.write_bytes (y sus subclases FileDataSource, StreamDataSource, ByteArrayDataSource), y PdfPlugin.process. Llamar a estos genera NotImplementedError en lugar de ejecutar la operación documentada. Ver el Troubleshooting página para obtener detalles y soluciones alternativas.
¿Dónde está el código fuente y el rastreador de incidencias?
El código fuente y el rastreador de incidencias están disponibles en https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.