PDF formulários estão entre os tipos de arquivo famosos onde você pode inserir informações, selecionar itens de caixas suspensas e também verificar campos conforme necessário. O PDF atualmente suporta dois métodos diferentes para integrar dados e formulários PDF, ou seja, AcroForms (também conhecidos como formulários Acrobat) e formulários XML Forms Architecture (XFA).Para preencher os formulários, você pode preencher o formulário on-line ou salvar uma cópia do formulário em seu computador e usar o Adobe Acrobat Reader para preenchê-lo. Depois que o formulário for preenchido, você estará interessado em usar os dados preenchidos dentro dos documentos e, para esse propósito, pode ser necessário exportá-los para os formatos XML, FDF e XFDF. Neste artigo, discutiremos os detalhes sobre como podemos exportar programaticamente PDF para XML usando Python, bem como outros formatos suportados.

API de processamento de PDF

Aspose.PDF Cloud é uma API REST premiada que oferece recursos para criar, editar e transformar vários formatos de arquivo para o formato PDF. Ao mesmo tempo, também suporta o recurso de exportar arquivos PDF para XLSX, PPTX, DOCX, EPUB, HTML, etc, e vários outros formatos de suporte.

Ele também permite que você trabalhe com formulários PDF onde você pode:

Como a API é baseada em REST, ela pode ser acessada em qualquer plataforma e em qualquer aplicativo, ou seja, desktop, celular, web, híbrido, etc. Agora, para facilitar ainda mais nossos usuários, criamos SDKs específicos para cada linguagem de programação para que você tenha todos os recursos de processamento de PDF na linguagem de sua escolha.

Agora, para implementar recursos de processamento de PDF no aplicativo Python, criamos o Aspose.PDF Cloud SDK para Python, que é um wrapper em torno do Aspose.PDF Cloud. Portanto, ao usar este SDK, você obtém todos os recursos de processamento de PDF em seu aplicativo Python. Agora, para começar a usar este SDK, o primeiro passo é sua instalação. O SDK está disponível para download gratuito no repositório PIP e GitHub. Basta executar o seguinte comando no terminal/prompt de comando para instalar a versão mais recente do SDK no sistema.

pip install asposepdfcloud

Conta gratuita do Cloud Dashboard

O próximo passo importante é uma assinatura gratuita dos nossos serviços de nuvem via Aspose.Cloud dashboard. O objetivo desta assinatura é permitir que apenas pessoas autorizadas acessem nossos serviços de processamento de arquivos. Se você tem uma conta GitHub ou Google, basta se inscrever ou clicar no botão Create a new Account e fornecer as informações necessárias. Agora faça login no painel usando credenciais e expanda a seção Applications do painel e role para baixo em direção à seção Client Credentials para ver os detalhes do Client ID e do Client Secret.

Credenciais do cliente

Imagem 1: Credenciais do cliente no painel do Aspose.Cloud.

Exportar PDF para XML usando Python

Siga as instruções especificadas abaixo para exportar PDF para XML usando Python. Fornecemos duas APIs para cumprir esse requisito

| API | Tipo | URL | Descrição |

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

| /pdf/{name}/export/xml | GET | GetExportFieldsFromPdfToXmlInStorage | Exportar campos do PDF no armazenamento para o arquivo XML. |

| /pdf/{name}/export/xml | PUT | PutExportFieldsFromPdfToXmlInStorage | Exportar campos de PDF no armazenamento para um arquivo XML no armazenamento. |

  • Primeiro, crie uma instância da classe ApiClient e forneça o ID do cliente e o segredo do cliente como argumentos.
  • Em segundo lugar, crie uma instância da classe PdfApi que recebe o objeto ApiClient como argumento de entrada.
  • Agora chame o método putexportfieldsfrompdftoxmlinstorage(..) para exportar dados do formulário PDF para XML e salvar o arquivo resultante no armazenamento em nuvem.
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)

        # crie uma instância PdfApi enquanto passa PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        # arquivo PDF de origem
        input_file = 'FormData-Filled.pdf'

        # nome XML resultante
        outputXML = 'exportedData.xml'
        
        # Exporte dados de formulário PDF para XML e salve a saída no armazenamento em nuvem
        response = pdf_api.put_export_fields_from_pdf_to_xml_in_storage(name = input_file, xml_output_file_path=outputXML)
        
        # imprimir resposta no console
        print(response)
        
        # imprimir mensagem no console (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)
Visualização de exportação de PDF para XML

Imagem 2:- Dados PDF exportados como XML.

Exportar PDF para FDF usando Python

Siga as instruções abaixo para exportar dados do formulário PDF para o formato FDF e salvar a saída no armazenamento em nuvem.

  • Crie uma instância da classe ApiClient fornecendo o ID do cliente e o segredo do cliente como argumentos.
  • Agora crie uma instância da classe PdfApi que recebe o objeto ApiClient como argumento de entrada.
  • Por fim, chame o método putexportfieldsfrompdftofdfinstorage(..) para exportar dados do formulário PDF para FDF e salvar o arquivo resultante no armazenamento em nuvem.
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)

        # crie uma instância PdfApi enquanto passa PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        # arquivo PDF de origem
        input_file = 'FormData-Filled.pdf'

        # nome FDF resultante
        outputFDF = 'exportedData.fdf'
        
        # Exporte dados de formulário PDF para FDF e salve a saída no armazenamento em nuvem
        response = pdf_api.put_export_fields_from_pdf_to_fdf_in_storage(name = input_file, fdf_output_file_path=outputFDF)
        
        # imprimir resposta no console
        print(response)
        
        # imprimir mensagem no console (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)

Visite os seguintes links para baixar o arquivo de origem FormData-Filled.pdf e o arquivo exportado exportedData.fdf.

Exportar PDF para XFDF usando Python

O arquivo XFDF é um arquivo de documento do Acrobat Forms que armazena informações utilizáveis por um arquivo PDF, então o arquivo XFDF insere esses dados diretamente no PDF. Portanto, podemos ter um requisito para exportar dados de um formulário PDF e preencher outros formulários PDF. Então, nesta seção, vamos discutir as etapas sobre como exportar dados de formulário PDF para o formato XFDF.

  • Crie uma instância da classe ApiClient fornecendo o ID do cliente e o segredo do cliente como argumentos.
  • Agora crie uma instância da classe PdfApi que recebe o objeto ApiClient como argumento de entrada.
  • Por fim, chame o método putexportfieldsfrompdftoxfdfinstorage(..) para exportar dados do formulário PDF para XFDF e salvar o arquivo resultante no armazenamento em nuvem.
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)

        # crie uma instância PdfApi enquanto passa PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        # arquivo PDF de origem
        input_file = 'FormData-Filled.pdf'

        # nome XFDF resultante
        outputXFDF = 'exportedData.xfdf'
        
        # Exporte dados de formulário PDF para XFDF e salve a saída no armazenamento em nuvem
        response = pdf_api.put_export_fields_from_pdf_to_xfdf_in_storage(name = input_file, xml_output_file_path=outputXFDF)
        
        # imprimir resposta no console
        print(response)
        
        # imprimir mensagem no console (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)

A saída de exemplo gerada no código acima pode ser baixada de exportedData.xfdf.

Exportar PDF para XFDF

Imagem 3:- Dados PDF exportados para XFDF

PDF para XML usando comandos cURL

As APIs REST também podem ser acessadas por meio de comandos cURL e podem ser acessadas usando o aplicativo de terminal em qualquer plataforma. Como o Aspose.PDF Cloud é desenvolvido conforme a arquitetura REST, ele também pode ser acessado por meio do comando cURL. No entanto, antes de executar qualquer operação, precisamos gerar um JSON Web Token (JWT) com base nas suas credenciais de cliente individuais especificadas no painel do Aspose.Cloud. É obrigatório porque nossas APIs são acessíveis apenas a usuários registrados. Execute o seguinte comando para gerar o 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"

Depois que o token JWT for gerado, execute o seguinte comando para exportar os dados do formulário PDF para o 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{}

Conclusão

Neste artigo, exploramos os detalhes e as etapas sobre como exportar dados de formulários PDF para os formatos XML, FDF e XFDF. Esses requisitos podem ser atendidos usando snippets de código Python, bem como usando os comandos cURL. Também recomendamos explorar o Guia do desenvolvedor para aprender sobre outros recursos interessantes oferecidos pela API. Além disso, o código-fonte completo do Aspose.PDF Cloud SDK para Python foi disponibilizado para download no GitHub. Caso você encontre algum problema ao usar a API ou tenha alguma dúvida, sinta-se à vontade para entrar em contato conosco por meio do Fórum de suporte gratuito ao produto.

Artigos relacionados

Recomendamos também que você visite os seguintes links para saber mais sobre: