Mesclar arquivos PDF em Python
Mesclar ou combinar vários PDF em um único PDF em Python
Combinar arquivos PDF é uma consulta muito popular entre os usuários. Isso pode ser útil quando você tem vários arquivos PDF que deseja compartilhar ou armazenar juntos como um único documento.
Mesclar arquivos PDF pode ajudar a organizar seus documentos, liberar espaço de armazenamento no seu PC e compartilhar vários arquivos PDF com outras pessoas, combinando-os em um único documento.
Mesclar PDF em Python via .NET não é uma tarefa direta sem usar uma biblioteca de terceiros. Este artigo mostra como mesclar vários arquivos PDF em um único documento PDF usando Aspose.PDF for Python via .NET.
Mesclar arquivos PDF usando Python e DOM
Para concatenar dois arquivos PDF:
- Criar um Novo Documento.
- Mesclar os arquivos PDF
- Salvar o Documento Mesclado
Combinando vários documentos PDF em um único arquivo:
import sys
import aspose.pdf as ap
from os import path
def merge_two_documents(infile1, infile2, outfile):
document1 = ap.Document(infile1)
document2 = ap.Document(infile2)
document1.pages.add(document2.pages)
document1.save(outfile)
Anexar um intervalo de páginas de um PDF a outro
Copiar e anexar um intervalo específico de páginas de um documento PDF de origem para um documento PDF de destino usando Aspose.PDF for Python.
- Abra os arquivos PDF usando a classe Document.
- Verifique se o documento fonte tem páginas.
- Validar o intervalo de páginas.
- Ignorar a operação se a página inicial for maior que a página final.
- Iterar sobre o intervalo de páginas.
- Anexe páginas ao documento de destino.
import sys
import aspose.pdf as ap
from os import path
def _append_page_range(source_document, destination_document, start_page, end_page):
total_pages = len(source_document.pages)
if total_pages == 0:
return
start = max(1, start_page)
end = min(end_page, total_pages)
if start > end:
return
for page_number in range(start, end + 1):
destination_document.pages.add(source_document.pages[page_number])
Mesclar vários documentos PDF em um
Este trecho de código explica como mesclar múltiplos arquivos PDF em um único documento:
- Criar um documento de saída vazio.
- Iterar pelos arquivos de entrada.
- Carregue cada documento de origem.
- Determinar intervalo de páginas.
- Anexar páginas ao documento de saída.
- Repita para todos os documentos.
- Salve o PDF mesclado.
import sys
import aspose.pdf as ap
from os import path
def merge_multiple_documents(input_files, outfile):
output_document = ap.Document()
for input_file in input_files:
source_document = ap.Document(input_file)
_append_page_range(
source_document, output_document, 1, len(source_document.pages)
)
output_document.save(outfile)
Mesclar intervalos de páginas selecionados de vários PDFs
- Carregue os documentos PDF de origem.
- Crie um documento de saída.
- Defina intervalos de páginas para cada documento.
- Anexar páginas do primeiro Document.
- Anexar páginas do segundo documento.
- Combine as páginas na ordem desejada.
- Salve o PDF mesclado.
import sys
import aspose.pdf as ap
from os import path
def merge_selected_page_ranges(infile1, infile2, outfile):
document1 = ap.Document(infile1)
document2 = ap.Document(infile2)
output_document = ap.Document()
_append_page_range(document1, output_document, 1, 2)
_append_page_range(document2, output_document, 2, 3)
output_document.save(outfile)
Inserir um PDF em outro em uma posição específica
- Carregue a base e insira documentos.
- Crie um documento de saída.
- Determine o total de páginas no documento base.
- Validar o índice de inserção.
- Anexar páginas antes do ponto de inserção.
- Anexar todas as páginas do documento de inserção.
- Anexar páginas restantes do documento base.
- Salve o PDF resultante.
import sys
import aspose.pdf as ap
from os import path
def merge_insert_document_at_position(infile1, infile2, insert_after_page, outfile):
base_document = ap.Document(infile1)
insert_document = ap.Document(infile2)
output_document = ap.Document()
base_total_pages = len(base_document.pages)
insert_index = max(0, min(insert_after_page, base_total_pages))
_append_page_range(base_document, output_document, 1, insert_index)
_append_page_range(insert_document, output_document, 1, len(insert_document.pages))
_append_page_range(
base_document, output_document, insert_index + 1, base_total_pages
)
output_document.save(outfile)
Mesclar PDFs por páginas alternadas
Este exemplo demonstra como mesclar dois documentos PDF alternando suas páginas usando o Aspose.PDF for Python.
- Carregue os documentos PDF de entrada.
- Crie um documento de saída.
- Obtenha o número de páginas em cada documento.
- Calcule a contagem máxima de páginas.
- Iterar pelos números de página.
- Anexar páginas alternadamente.
- Manipular contagens de páginas desiguais.
- Salve o PDF mesclado.
import sys
import aspose.pdf as ap
from os import path
def merge_alternating_pages(infile1, infile2, outfile):
document1 = ap.Document(infile1)
document2 = ap.Document(infile2)
output_document = ap.Document()
document1_pages = len(document1.pages)
document2_pages = len(document2.pages)
max_pages = max(document1_pages, document2_pages)
for page_number in range(1, max_pages + 1):
if page_number <= document1_pages:
output_document.pages.add(document1.pages[page_number])
if page_number <= document2_pages:
output_document.pages.add(document2.pages[page_number])
output_document.save(outfile)
Mesclar PDFs com Separadores de Seção e Marcadores
Mescle vários documentos PDF em um único arquivo com seções estruturadas e marcadores de navegação usando o Aspose.PDF for Python.
- Crie um documento de saída.
- Iterar pelos arquivos de entrada.
- Carregue o documento de origem.
- Adicionar uma página separadora.
- Criar um marcador de seção.
- Anexar páginas do documento de origem.
- Rastreie a primeira página de conteúdo.
- Adicionar um marcador de conteúdo aninhado (opcional).
- Repita para todos os documentos.
- Salve o PDF mesclado.
import sys
import aspose.pdf as ap
from os import path
def merge_with_section_separators_and_bookmarks(input_files, outfile):
output_document = ap.Document()
for section_index, input_file in enumerate(input_files, start=1):
source_document = ap.Document(input_file)
source_page_count = len(source_document.pages)
separator_page = output_document.pages.add()
separator_page.paragraphs.add(
ap.text.TextFragment(
f"Section {section_index}: {path.basename(input_file)}"
)
)
section_bookmark = ap.OutlineItemCollection(output_document.outlines)
section_bookmark.title = f"Section {section_index}"
section_bookmark.action = ap.annotations.GoToAction(separator_page)
output_document.outlines.append(section_bookmark)
first_content_page_number = len(output_document.pages) + 1
_append_page_range(source_document, output_document, 1, source_page_count)
if source_page_count > 0 and first_content_page_number <= len(
output_document.pages
):
content_bookmark = ap.OutlineItemCollection(output_document.outlines)
content_bookmark.title = f"Section {section_index} Content"
content_bookmark.action = ap.annotations.GoToAction(
output_document.pages[first_content_page_number]
)
section_bookmark.append(content_bookmark)
output_document.save(outfile)
Exemplo ao Vivo
Merger Aspose.PDF é um aplicativo web gratuito online que permite investigar como funciona a funcionalidade de mesclagem de apresentações.
