Extrair páginas específicas de PDF

Pode ser necessário extrair páginas específicas de documentos PDF ou dividir documentos PDF grandes em partes menores. Como desenvolvedor Python, você pode facilmente extrair páginas específicas de documentos PDF por números de página ou por um intervalo de páginas programaticamente. Neste artigo, você aprenderá como extrair páginas específicas de documentos PDF usando uma API REST em Python.

Os seguintes tópicos serão abordados neste artigo:

API REST do divisor de documentos e SDK do Python

Para extrair páginas de documentos PDF, usarei a API Python SDK of GroupDocs.Merger Cloud. É um Cloud SDK rico em recursos e de alto desempenho usado para mesclar vários documentos em um único documento. Ele também permite que você divida um único documento em vários documentos. O SDK oferece funcionalidade para excluir, trocar, girar ou alterar a orientação da página para um intervalo inteiro ou preferencial de páginas e executar outras manipulações facilmente para qualquer formato de arquivo suportado, como PDF, Word, Powerpoint e planilhas do Excel. Atualmente, ela também fornece SDKs .NET, Java, PHP, Ruby, Android e Node.js como seus membros da família de fusão de documentos para a Cloud API.

Você pode instalar GroupDocs.Merger-Cloud em seu projeto Python usando o seguinte comando no console:

pip install groupdocs_merger_cloud

Obtenha seu ID de cliente e Segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID e segredo, adicione o código conforme demonstrado abaixo:

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Extraia páginas específicas de PDF usando a API REST em Python

Você pode extrair páginas específicas de documentos PDF seguindo as etapas simples mencionadas abaixo:

  1. Carregar o arquivo PDF para a nuvem
  2. Extrair páginas específicas por números de página do arquivo PDF carregado
  3. Baixar o(s) arquivo(s) extraído(s)

Carregue o Documento

Em primeiro lugar, carregue o documento PDF de várias páginas na nuvem usando o exemplo de código fornecido abaixo:

# criar instância da API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# fazer upload de arquivos de amostra
request = groupdocs_merger_cloud.UploadFileRequest("ten-pages.pdf", "C:\\Files\\ten-pages.pdf", my_storage)
response = file_api.upload_file(request)

Como resultado, o arquivo PDF será carregado no Cloud Storage e estará disponível na seção de arquivos do seu painel.

Extrair páginas específicas por números de página usando Python

Siga as etapas mencionadas abaixo para extrair uma página específica ou várias páginas de um documento PDF programaticamente.

  • Crie uma instância API de documento
  • Fornecer opções de divisão
  • Defina o caminho do arquivo de entrada
  • Defina o caminho do diretório de saída
  • Forneça números de página separados por vírgula para extrair
  • Definir modo para páginas
  • Criar SplitRequest
  • Obtenha resultados chamando o método DocumentApi.split()

O exemplo de código a seguir mostra como extrair páginas fornecendo números de página específicos de um documento PDF usando uma API REST.

# inicialização da API
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# definir opções de divisão
options = groupdocs_merger_cloud.SplitOptions()
options.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
options.output_path = "Output"
options.pages = [1, 3]
options.mode = "Pages"

# criar solicitação de divisão
split_request = groupdocs_merger_cloud.SplitRequest(options)
result = documentApi.split(split_request)        

print("Documents count = " + str(len(result.documents)))
Extrair páginas específicas de PDF usando Python

Extrair páginas específicas de PDF usando Python

Baixe os arquivos de página extraídos

O exemplo de código acima salvará as páginas extraídas em arquivos PDF separados na nuvem. Você pode baixá-los usando o seguinte exemplo de código:

# inicialização da API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# solicitação de download de arquivo
request = groupdocs_merger_cloud.DownloadFileRequest("Output\\ten-pages_1.pdf", my_storage)
response = file_api.download_file(request)

# mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\")

Extrair páginas por intervalo de páginas usando Python

Siga as etapas mencionadas abaixo para extrair páginas de um documento PDF fornecendo um intervalo de páginas programaticamente.

  • Crie uma instância API de documento
  • Fornecer opções de divisão
  • Defina o caminho do arquivo de entrada
  • Defina o caminho do diretório de saída
  • Forneça o intervalo de páginas definindo o número da página inicial e o número da página final para extrair
  • Definir modo para páginas
  • Criar SplitRequest
  • Obtenha resultados chamando o método DocumentApi.split()
  • Criar DownloadFileRequest
  • Baixe o arquivo chamando o método FileApi.download\file()

O exemplo de código a seguir mostra como extrair páginas fornecendo um intervalo de páginas de um documento PDF usando uma API REST. Siga as etapas mencionadas anteriormente para fazer o upload dos arquivos.

# inicialização da API
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# definir opções de divisão
options = groupdocs_merger_cloud.SplitOptions()
options.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
options.output_path = "Output"
options.start_page_number = 4
options.end_page_number = 7
options.mode = "Pages"

# criar solicitação de divisão
split_request = groupdocs_merger_cloud.SplitRequest(options)
result = documentApi.split(split_request)   

print("Documents count = " + str(len(result.documents)))

# mostrar resultados e baixar arquivos um por um
for data in result.documents:
    print("Document Url = " + str(data))
    
    # criar solicitação de download de arquivo
    request = groupdocs_merger_cloud.DownloadFileRequest(data.path, my_storage)
    response = file_api.download_file(request)
    
    # Mova o arquivo baixado para o seu diretório de trabalho
    shutil.move(response, "C:\\Files\\")
Extrair páginas por intervalo de páginas usando Python

Extrair páginas por intervalo de páginas usando Python

Experimente on-line

Experimente a seguinte ferramenta divisora de PDF on-line gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/splitter/pdf

Conclusão

Neste artigo, você aprendeu como extrair páginas específicas de documentos PDF na nuvem usando Python. Você também aprendeu como carregar programaticamente o arquivo PDF na nuvem e, em seguida, baixar os arquivos extraídos da nuvem. Você pode aprender mais sobre GroupDocs.Merger Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também