Los formularios PDF se encuentran entre los tipos de archivos más conocidos en los que puede introducir información, seleccionar elementos de cuadros desplegables y también marcar campos según sea necesario. PDF admite actualmente dos métodos diferentes para integrar datos y formularios PDF, es decir, AcroForms (también conocidos como formularios de Acrobat) y formularios XML Forms Architecture (XFA).Para completar los formularios, puede completarlos en línea o guardar una copia del formulario en su computadora y usar Adobe Acrobat Reader para completarlos. Una vez que haya completado el formulario, le interesará utilizar los datos que se han introducido en los documentos y, para ello, es posible que deba exportarlos a formatos XML, FDF y XFDF. En este artículo, analizaremos los detalles sobre cómo podemos exportar PDF a XML mediante programación utilizando Python, así como otros formatos compatibles.

API de procesamiento de PDF

Aspose.PDF Cloud es una API REST galardonada que ofrece la posibilidad de crear, editar y transformar varios formatos de archivo en formato PDF. Al mismo tiempo, también admite la función de exportar archivos PDF a XLSX, PPTX, DOCX, EPUB, HTML, etc., y varios otros formatos compatibles.

También le permite trabajar con formularios PDF donde puede:

Dado que la API está basada en REST, se puede acceder a ella en cualquier plataforma y en cualquier aplicación, es decir, escritorio, móvil, web, híbrida, etc. Ahora, para facilitar aún más a nuestros usuarios, hemos creado SDK específicos del lenguaje de programación para que obtenga todas las capacidades de procesamiento de PDF dentro del lenguaje de su elección.

Ahora, para implementar las capacidades de procesamiento de PDF en la aplicación Python, hemos creado Aspose.PDF Cloud SDK for Python, que es un contenedor de Aspose.PDF Cloud. Por lo tanto, al usar este SDK, obtiene todas las capacidades de procesamiento de PDF dentro de su aplicación Python. Ahora, para comenzar a usar este SDK, el primer paso es su instalación. El SDK está disponible para descarga gratuita a través de los repositorios PIP y GitHub. Simplemente ejecute el siguiente comando en la terminal/símbolo del sistema para instalar la última versión del SDK en el sistema.

pip install asposepdfcloud

Cuenta gratuita de Cloud Dashboard

El siguiente paso importante es una suscripción gratuita a nuestros servicios en la nube a través del panel de control de Aspose.Cloud. El propósito de esta suscripción es permitir que solo las personas autorizadas accedan a nuestros servicios de procesamiento de archivos. Si tiene una cuenta de GitHub o Google, simplemente regístrese o haga clic en el botón Crear una nueva cuenta y proporcione la información requerida. Ahora inicie sesión en el panel de control con credenciales y expanda la sección Aplicaciones desde el panel de control y desplácese hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID de cliente y Secreto de cliente.

Credenciales del cliente

Imagen 1: Credenciales del cliente en el panel de Aspose.Cloud.

Exportar PDF a XML con Python

Siga las instrucciones que se especifican a continuación para exportar PDF a XML con Python. Hemos proporcionado dos API para cumplir con este requisito

| API | Tipo | URL | Descripción |

| ——————- | —– | —– | ———— |

| /pdf/{name}/export/xml | GET | GetExportFieldsFromPdfToXmlInStorage | Exportar campos desde el PDF almacenado al archivo XML. |

| /pdf/{name}/export/xml | PUT | PutExportFieldsFromPdfToXmlInStorage | Exportar campos desde un PDF en almacenamiento a un archivo XML en almacenamiento. |

  • En primer lugar, cree una instancia de la clase ApiClient y proporcione el ID de cliente y el secreto del cliente como argumentos.
  • En segundo lugar, cree una instancia de la clase PdfApi que tome el objeto ApiClient como argumento de entrada.
  • Ahora llame al método putexportfieldsfrompdftoxmlinstorage(..) para exportar datos del formulario PDF a XML y guardar el archivo resultante en el almacenamiento en la nube.
def exportPDFtoXML():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # Crea una instancia de PdfApi mientras pasas PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        # archivo PDF de origen
        input_file = 'FormData-Filled.pdf'

        # nombre XML resultante
        outputXML = 'exportedData.xml'
        
        # Exportar datos de formularios PDF a XML y guardar el resultado en el almacenamiento en la nube
        response = pdf_api.put_export_fields_from_pdf_to_xml_in_storage(name = input_file, xml_output_file_path=outputXML)
        
        # Imprimir respuesta en la consola
        print(response)
        
        # Imprimir mensaje en la consola (opcional)
        print('PDF Form data successfully exported to XML !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
Vista previa de exportación de PDF a XML

Imagen 2:- Datos PDF exportados como XML.

Exportar PDF a FDF con Python

Siga las instrucciones a continuación para exportar los datos del formulario PDF al formato FDF y guardar el resultado en el almacenamiento en la nube.

  • Crea una instancia de la clase ApiClient mientras proporcionas el ID de cliente y el secreto del cliente como argumentos.
  • Ahora cree una instancia de la clase PdfApi que tome el objeto ApiClient como argumento de entrada.
  • Por último, llame al método putexportfieldsfrompdftofdfinstorage(..) para exportar datos del formulario PDF a FDF y guardar el archivo resultante en el almacenamiento en la nube.
def exportPDFtoFDF():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # Crea una instancia de PdfApi mientras pasas PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        # archivo PDF de origen
        input_file = 'FormData-Filled.pdf'

        # Nombre FDF resultante
        outputFDF = 'exportedData.fdf'
        
        # Exportar datos de formularios PDF a FDF y guardar el resultado en el almacenamiento en la nube
        response = pdf_api.put_export_fields_from_pdf_to_fdf_in_storage(name = input_file, fdf_output_file_path=outputFDF)
        
        # Imprimir respuesta en la consola
        print(response)
        
        # Imprimir mensaje en la consola (opcional)
        print('PDF Form data successfully exported to FDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Por favor visite los siguientes enlaces para descargar el código fuente FormData-Filled.pdf y el exportado exportedData.fdf.

Exportar PDF a XFDF con Python

El archivo XFDF es un archivo de documento de formularios de Acrobat que almacena información que puede utilizarse en un archivo PDF, por lo que el archivo XFDF inserta esos datos directamente en el PDF. Por lo tanto, es posible que tengamos la necesidad de exportar datos de un formulario PDF y completar otros formularios PDF. Por lo tanto, en esta sección, analizaremos los pasos para exportar datos de formularios PDF al formato XFDF.

  • Crea una instancia de la clase ApiClient mientras proporcionas el ID de cliente y el secreto del cliente como argumentos.
  • Ahora cree una instancia de la clase PdfApi que tome el objeto ApiClient como argumento de entrada.
  • Por último, llame al método putexportfieldsfrompdftoxfdfinstorage(..) para exportar datos del formulario PDF a XFDF y guardar el archivo resultante en el almacenamiento en la nube.
def exportPDFtoXFDF():
    try:
        #Client credentials
        client_secret = "1c9379bb7d701c26cc87e741a29987bb"
        client_id = "bbf94a2c-6d7e-4020-b4d2-b9809741374e"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # Crea una instancia de PdfApi mientras pasas PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        # archivo PDF de origen
        input_file = 'FormData-Filled.pdf'

        # nombre XFDF resultante
        outputXFDF = 'exportedData.xfdf'
        
        # Exportar datos de formularios PDF a XFDF y guardar el resultado en el almacenamiento en la nube
        response = pdf_api.put_export_fields_from_pdf_to_xfdf_in_storage(name = input_file, xml_output_file_path=outputXFDF)
        
        # Imprimir respuesta en la consola
        print(response)
        
        # Imprimir mensaje en la consola (opcional)
        print('PDF Form data successfully exported to XFDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

La salida de muestra generada en el código anterior se puede descargar desde exportedData.xfdf.

Exportar PDF a XFDF

Imagen 3: Datos PDF exportados a XFDF

Conversión de PDF a XML mediante comandos cURL

También se puede acceder a las API REST mediante comandos cURL y se puede acceder a ellas mediante la aplicación de terminal en cualquier plataforma. Dado que Aspose.PDF Cloud está desarrollado según la arquitectura REST, también se puede acceder a él mediante el comando cURL. Sin embargo, antes de realizar cualquier operación, necesitamos generar un token web JSON (JWT) basado en las credenciales de cliente individuales especificadas en el panel de control de Aspose.Cloud. Es obligatorio porque nuestras API solo son accesibles para usuarios registrados. Ejecute el siguiente comando para generar el token JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Una vez generado el token JWT, ejecute el siguiente comando para exportar los datos del formulario PDF al formato XML.

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/FormData-Filled.pdf/export/xml?xmlOutputFilePath=FormDataExported.xml" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-d{}

Conclusión

En este artículo, hemos explorado los detalles y los pasos para exportar datos de formularios PDF a formatos XML, FDF y XFDF. Estos requisitos se pueden cumplir mediante fragmentos de código de Python, así como mediante los comandos cURL. También recomendamos explorar la Guía para desarrolladores para conocer otras características interesantes que ofrece la API. Además, el código fuente completo de Aspose.PDF Cloud SDK para Python está disponible para su descarga en GitHub. En caso de que tenga algún problema al usar la API o si tiene alguna otra consulta, no dude en ponerse en contacto con nosotros a través del Foro de soporte gratuito de productos.

Artículos relacionados

También recomendamos visitar los siguientes enlaces para conocer más sobre: