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:

  1. Criar um Novo Documento.
  2. Mesclar os arquivos PDF
  3. 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.

  1. Abra os arquivos PDF usando a classe Document.
  2. Verifique se o documento fonte tem páginas.
  3. Validar o intervalo de páginas.
  4. Ignorar a operação se a página inicial for maior que a página final.
  5. Iterar sobre o intervalo de páginas.
  6. 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:

  1. Criar um documento de saída vazio.
  2. Iterar pelos arquivos de entrada.
  3. Carregue cada documento de origem.
  4. Determinar intervalo de páginas.
  5. Anexar páginas ao documento de saída.
  6. Repita para todos os documentos.
  7. 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

  1. Carregue os documentos PDF de origem.
  2. Crie um documento de saída.
  3. Defina intervalos de páginas para cada documento.
  4. Anexar páginas do primeiro Document.
  5. Anexar páginas do segundo documento.
  6. Combine as páginas na ordem desejada.
  7. 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

  1. Carregue a base e insira documentos.
  2. Crie um documento de saída.
  3. Determine o total de páginas no documento base.
  4. Validar o índice de inserção.
  5. Anexar páginas antes do ponto de inserção.
  6. Anexar todas as páginas do documento de inserção.
  7. Anexar páginas restantes do documento base.
  8. 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.

  1. Carregue os documentos PDF de entrada.
  2. Crie um documento de saída.
  3. Obtenha o número de páginas em cada documento.
  4. Calcule a contagem máxima de páginas.
  5. Iterar pelos números de página.
  6. Anexar páginas alternadamente.
  7. Manipular contagens de páginas desiguais.
  8. 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.

  1. Crie um documento de saída.
  2. Iterar pelos arquivos de entrada.
  3. Carregue o documento de origem.
  4. Adicionar uma página separadora.
  5. Criar um marcador de seção.
  6. Anexar páginas do documento de origem.
  7. Rastreie a primeira página de conteúdo.
  8. Adicionar um marcador de conteúdo aninhado (opcional).
  9. Repita para todos os documentos.
  10. 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.

Mesclador Aspose.PDF

Tópicos de Documentos Relacionados