
O arquivo PDF é composto de texto e gráficos e pode conter arquivos inteiros dentro deles como anexos. Isso torna a troca de conjuntos de documentos mais fácil e confiável. O painel Anexos fornece um local central para visualizar, inserir, excluir e exportar anexos. Observe também que se você mover o arquivo PDF para um novo local, os anexos dentro dele também serão movidos com ele. Os anexos podem incluir links para ou do documento pai ou para outros anexos. Não confunda os comentários anexados com anexos de arquivo.
Neste artigo, discutiremos os detalhes sobre como podemos ler as informações sobre anexos em documentos PDF, bem como, como podemos baixar anexos de PDF usando Python. Nenhum download e instalação de software específico é necessário e executamos todas as operações necessárias na nuvem.
- API de processamento de PDF
- Python SDK para processamento de PDF
- Ler informações de anexo usando o comando cURL
- Baixar anexo específico usando o comando cURL
API de processamento de PDF
Aspose.PDF Cloud é nossa API baseada em REST que oferece os recursos para criar, editar e transformar vários formatos em PDF, bem como renderizar arquivos PDF em formatos incluindo XLSX, PPTX, DOCX, EPUB, HTML, JPEG, etc. e muito mais. Devido à arquitetura REST, a API pode ser acessada em qualquer plataforma. Portanto, você pode implementar recursos de processamento de PDF em aplicativos Desktop, Web, Mobile, Cloud e Hybrid.
Python SDK para processamento de PDF
Para facilitar ainda mais nossos clientes, criamos SDKs de programação específicos para que você tenha todos os recursos de processamento de PDF na linguagem de sua escolha. Da mesma forma, para facilitar os desenvolvedores Python, criamos o SDK de programação Python chamado Aspose.PDF Cloud SDK para Python, que é um wrapper em torno do Aspose.PDF Cloud API. Agora, para começar, o primeiro passo é sua instalação. O SDK está disponível para download gratuito no repositório PIP e GitHub. Agora execute o seguinte comando no terminal/prompt de comando para instalar a versão mais recente do SDK no sistema.
pip install asposepdfcloud
IDE PyCharm
Se estiver usando o PyCharm IDE, você pode adicionar o SDK diretamente como uma dependência no seu projeto.
Arquivo ->Configurações ->Projeto ->Interpretador Python ->asposepdfcloud

Image 1:- PyCharm settings option.

Imagem 2:- Pacote Python Aspose.Pdf Cloud.
Conta gratuita do Cloud Dashboard
Após a instalação, 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.

Imagem 3: Credenciais do cliente no painel do Aspose.Cloud.
Ler informações de anexos em PDF
Siga as instruções abaixo para ler as informações dos anexos no documento PDF.
- Primeiro, precisamos criar uma instância da classe ApiClient e fornecer 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 getdocumentattachments(…) do PdfApi para buscar detalhes do anexo em PDF.
def readAttachmentDetails():
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)
#source image file
input_file = 'PdfWithEmbeddedFiles.pdf'
# chame a API para extrair detalhes do anexo
response = pdf_api.get_document_attachments(name = input_file)
print(response)
# imprimir mensagem no console (opcional)
print('PDF Attachment details successfully retrieved !')
except ApiException as e:
print("Exception while calling PdfApi: {0}".format(e))
print("Code:" + str(e.code))
print("Message:" + e.message)
Para sua referência, o documento PDF de amostra usado no exemplo acima pode ser baixado de PdfWithEmbeddedFiles.pdf.
Ler informações específicas do anexo
A API também nos facilita a ler as informações de anexos específicos no documento PDF. Para esse propósito, tente usar o método GetDocumentAttachmentByIndex. Veja abaixo os detalhes do primeiro anexo recuperado.
{'attachment': {'check_sum': '33DCE2EE8BD095A3C4E2A67058104D35',
'creation_date': '11/24/2008 02:02:36.000 PM',
'description': None,
'links': [{'href': '/PdfWithEmbeddedFiles.pdf/attachments/1',
'rel': 'self',
'title': None,
'type': None}],
'mime_type': 'application/pdf',
'modification_date': '05/03/2007 10:37:41.000 AM',
'name': 'example1.pdf',
'size': 10984},
'code': 200,
'status': 'OK'}
Baixar anexo específico do PDF
Siga as instruções especificadas abaixo para baixar anexos específicos do documento PDF.
- Primeiro, precisamos criar uma instância da classe ApiClient e fornecer 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 GetDownloadDocumentAttachmentByIndex(…) para baixar o anexo do arquivo PDF.
def downloadAttachment():
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)
#source image file
input_file = 'PdfWithEmbeddedFiles.pdf'
# chame a API para baixar o primeiro anexo do arquivo PDF
response = pdf_api.get_download_document_attachment_by_index(name = input_file, attachment_index=1)
print(response)
# imprimir mensagem no console (opcional)
print('PDF Attachment successfully downloaded !')
except ApiException as e:
print("Exception while calling PdfApi: {0}".format(e))
print("Code:" + str(e.code))
print("Message:" + e.message)
Ler informações de anexo usando o comando cURL
As APIs REST podem ser acessadas facilmente por meio de comandos cURL e podemos usar um aplicativo de terminal simples para executá-las. Como o Aspose.PDF Cloud é desenvolvido de acordo com a arquitetura REST, também podemos acessá-las por meio de comandos cURL. No entanto, como pré-requisito, precisamos gerar um JSON Web Token (JWT) com base em 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"
Agora que temos o token JWT, podemos executar o seguinte comando para buscar informações de anexos específicos de documentos PDF.
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/attachments/1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Baixar anexo específico usando o comando cURL
Execute o seguinte comando para baixar o segundo anexo do arquivo PDF e salvá-lo no disco local.
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/PdfWithEmbeddedFiles.pdf/attachments/2/download" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Attachment.txt
Conclusão
Este artigo explicou os detalhes e as etapas sobre como podemos ler e baixar anexos de documentos PDF. Exploramos as etapas usando trechos de código Python, bem como usando os comandos cURL. Além do processamento de anexos, a API também fornece uma infinidade de recursos relacionados a outros elementos de arquivos PDF e seus detalhes podem ser encontrados no Guia do desenvolvedor. 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: