Como mesclar arquivos PDF usando Python | IronPDF

Mesclar arquivos PDF em um único PDF usando Python

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Python oferece uma solução direta para mesclar vários documentos PDF em um único arquivo usando o método PdfDocument.Merge(), suportando tanto a mesclagem de dois arquivos quanto operações em lote para combinar vários PDFs de forma eficiente.

PDF (Portable Document Format) é o padrão para compartilhar documentos que devem ter a mesma aparência em diferentes plataformas e aplicativos. Se você está consolidando relatórios, combinando documentos digitalizados ou montando formulários multipartes, mesclar conteúdo PDF de várias fontes é um requisito recorrente em fluxos de trabalho empresariais e de processamento de dados.

IronPDF lida com esta operação em Python com uma única chamada de método. Este guia cobre instalação, mesclagem básica de dois arquivos e operações em lote para combinar múltiplos documentos de uma vez.

Início Rápido: Mesclar Arquivos PDF em Python

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/quickstart.py
from ironpdf import *

renderer = ChromePdfRenderer()
pdf_a = renderer.RenderHtmlAsPdf("<p>Document A</p>")
pdf_b = renderer.RenderHtmlAsPdf("<p>Document B</p>")

merged = PdfDocument.Merge([pdf_a, pdf_b])
merged.SaveAs("merged.pdf")
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/quickstart.py
from ironpdf import *

renderer = ChromePdfRenderer()
pdf_a = renderer.RenderHtmlAsPdf("<p>Document A</p>")
pdf_b = renderer.RenderHtmlAsPdf("<p>Document B</p>")

merged = PdfDocument.Merge([pdf_a, pdf_b])
merged.SaveAs("merged.pdf")
PYTHON

Como Eu Instalo o IronPDF for Python?

IronPDF está disponível como um pacote Python via pip. Ele requer Python 3.x e funciona no Windows e Linux sem dependências adicionais do sistema para operações de mesclagem padrão. O pacote vem com um mecanismo de renderização baseado no Chrome que lida com a conversão de HTML para PDF internamente.

Instale a biblioteca IronPdf usando o pip com o seguinte comando:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/install.sh
pip install ironpdf
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/install.sh
pip install ironpdf
SHELL

Para instruções detalhadas de instalação e ajuda com problemas comuns, como erros 'Módulo Não Definido' ou problemas de permissão, consulte a documentação oficial.

Quais Declarações de Importação São Necessárias?

Em seu script Python, inclua as seguintes declarações de importação para acessar os recursos de geração e mesclagem de PDF do IronPDF:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/imports.py
from ironpdf import *

# Set your license key for production use
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/imports.py
from ironpdf import *

# Set your license key for production use
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
PYTHON

Para aplicativos de produção, configure sua chave de licença para desbloquear o conjunto completo de recursos do IronPDF. Uma avaliação gratuita está disponível - inicie sua avaliação gratuita para começar sem uma compra.

Como faço para mesclar dois arquivos PDF em Python?

A fusão de arquivos PDF em Python envolve duas etapas: criar os documentos PDF de origem e, em seguida, combiná-los com PdfDocument.Merge(). O método aceita uma lista de objetos PdfDocument e produz um novo documento combinado na ordem em que os itens aparecem na lista.

Abaixo está um exemplo completo funcionando:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-two-pdfs.py
from ironpdf import *

# HTML content for the first PDF
html_a = """<p> [PDF_A] </p>
            <p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

# HTML content for the second PDF
html_b = """<p> [PDF_B] </p>
            <p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

# Initialize renderer
renderer = ChromePdfRenderer()

# Convert each HTML string to a PDF document
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)

# Merge the two documents into one
merged = PdfDocument.Merge([pdfdoc_a, pdfdoc_b])

# Save the merged result to disk
merged.SaveAs("Merged.pdf")
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-two-pdfs.py
from ironpdf import *

# HTML content for the first PDF
html_a = """<p> [PDF_A] </p>
            <p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

# HTML content for the second PDF
html_b = """<p> [PDF_B] </p>
            <p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

# Initialize renderer
renderer = ChromePdfRenderer()

# Convert each HTML string to a PDF document
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)

# Merge the two documents into one
merged = PdfDocument.Merge([pdfdoc_a, pdfdoc_b])

# Save the merged result to disk
merged.SaveAs("Merged.pdf")
PYTHON

Por que usar o RenderHtmlAsPdf para gerar PDFs?

O exemplo acima usa duas strings HTML, cada uma representando um documento de duas páginas. RenderHtmlAsPdf converte cada string em um objeto PdfDocument usando o mecanismo de renderização baseado no Chrome do IronPDF, que produz resultados precisos a partir de conteúdo HTML, CSS e JavaScript . Esta abordagem é bem adequada para gerar relatórios ou documentos orientados por dados a partir de modelos web. Para cenários de renderização mais complexos, consulte o tutorial de HTML para PDF.

PontasVocê também pode carregar arquivos PDF existentes do disco usando PdfDocument.FromFile("path/to/file.pdf") e passá-los diretamente para o método Merge. Isso é útil ao combinar relatórios pré-existentes ou documentos gerados externamente.

Como funciona o método Merge?

PdfDocument.Merge recebe uma lista Python de objetos PdfDocument como seu único argumento. Ele combina os documentos na ordem da lista, colocando todas as páginas do primeiro documento antes de todas as páginas do segundo, e assim por diante. O resultado é um novo PdfDocument que pode ser posteriormente modificado ou salvo. Contagem de páginas, marcadores e conteúdo incorporado de cada documento de origem são todos preservados na saída.

O método aceita qualquer combinação de documentos renderizados e carregados de arquivos na mesma lista. Isso significa que você pode combinar saídas de HTML recém-renderizadas com PDFs existentes do disco em uma única chamada, o que é útil quando parte de um relatório é gerada dinamicamente e outra parte é um template estático.

Como faço para salvar o PDF mesclado?

Passe o caminho de saída desejado para SaveAs para gravar o documento mesclado em disco:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/save-merged.py
# Save the merged document
merged.SaveAs("Merged.pdf")

# Optionally compress images before saving to reduce file size
merged.CompressImages(90)
merged.SaveAs("Merged_Compressed.pdf")
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/save-merged.py
# Save the merged document
merged.SaveAs("Merged.pdf")

# Optionally compress images before saving to reduce file size
merged.CompressImages(90)
merged.SaveAs("Merged_Compressed.pdf")
PYTHON

Após salvar, você pode aplicar pós-processamentos adicionais, como compressão de PDF para reduzir o tamanho do arquivo de documentos mesclados grandes.

IronPDF output showing a 4-page merged PDF with thumbnail panel confirming successful two-document merge

Saída de PDF mesclada mostrando páginas de ambos os documentos de origem

Como faço para mesclar mais de dois arquivos PDF no Python?

A mesclagem em lote no IronPDF segue o mesmo padrão da mesclagem de dois documentos. A única diferença é que mais objetos PdfDocument são adicionados à lista antes da chamada para PdfDocument.Merge. O método escala para lidar com dezenas ou centenas de documentos em uma única operação.

Esta é a mesma API, independentemente de você estar mesclando 2 ou 200 documentos. Para cenários de alto volume, como agregação de relatórios noturnos ou pipelines de montagem de documentos, o IronPDF também suporta geração paralela de PDF para acelerar a fase de renderização antes da mesclagem.

O processo envolve duas etapas:

  • Crie uma lista em Python contendo os objetos PdfDocument a serem mesclados.
  • Passe a lista como argumento para PdfDocument.Merge

Como faço para combinar vários PDFs com uma lista?

O código abaixo mescla quatro documentos renderizados em HTML em uma única chamada:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-multiple-pdfs.py
from ironpdf import *

# HTML content for each document
html_a = """<p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

html_b = """<p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

html_c = """<p> [PDF_C] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_C] 2nd Page</p>"""

html_d = """<p> [PDF_D] Content Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_D] Summary Page</p>"""

renderer = ChromePdfRenderer()

# Render all four documents
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
pdfdoc_c = renderer.RenderHtmlAsPdf(html_c)
pdfdoc_d = renderer.RenderHtmlAsPdf(html_d)

# Collect into a list and merge
pdfs = [pdfdoc_a, pdfdoc_b, pdfdoc_c, pdfdoc_d]
pdf = PdfDocument.Merge(pdfs)

# Save the combined document
pdf.SaveAs("merged_multiple.pdf")
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-multiple-pdfs.py
from ironpdf import *

# HTML content for each document
html_a = """<p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

html_b = """<p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

html_c = """<p> [PDF_C] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_C] 2nd Page</p>"""

html_d = """<p> [PDF_D] Content Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_D] Summary Page</p>"""

renderer = ChromePdfRenderer()

# Render all four documents
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
pdfdoc_c = renderer.RenderHtmlAsPdf(html_c)
pdfdoc_d = renderer.RenderHtmlAsPdf(html_d)

# Collect into a list and merge
pdfs = [pdfdoc_a, pdfdoc_b, pdfdoc_c, pdfdoc_d]
pdf = PdfDocument.Merge(pdfs)

# Save the combined document
pdf.SaveAs("merged_multiple.pdf")
PYTHON

A lista passada para Merge determina a ordem das páginas no documento final. Reorganizar elementos na lista altera a ordem de saída sem código adicional. Se você precisar classificar os documentos antes de mesclá-los - por exemplo, por data ou número do relatório - classifique primeiro a lista do Python e, em seguida, passe-a para Merge.

Como faço para mesclar arquivos PDF existentes do disco?

Ao combinar arquivos PDF preexistentes em vez de arquivos recém-renderizados, carregue cada arquivo com PdfDocument.FromFile antes de mesclar. Este é o padrão típico ao trabalhar com arquivos produzidos por outros sistemas - documentos digitalizados, exportações de relatórios de terceiros ou PDFs gerados por diferentes ferramentas. O IronPDF lê o arquivo na memória como um objeto PdfDocument, que pode então ser mesclado, modificado ou inspecionado antes do salvamento final.

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-existing-pdfs.py
from ironpdf import *

# Load existing PDF files from disk
existing_pdf1 = PdfDocument.FromFile("report1.pdf")
existing_pdf2 = PdfDocument.FromFile("report2.pdf")
existing_pdf3 = PdfDocument.FromFile("report3.pdf")

# Merge all loaded documents
merged_existing = PdfDocument.Merge([existing_pdf1, existing_pdf2, existing_pdf3])

# Save the combined result
merged_existing.SaveAs("merged_reports.pdf")
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-existing-pdfs.py
from ironpdf import *

# Load existing PDF files from disk
existing_pdf1 = PdfDocument.FromFile("report1.pdf")
existing_pdf2 = PdfDocument.FromFile("report2.pdf")
existing_pdf3 = PdfDocument.FromFile("report3.pdf")

# Merge all loaded documents
merged_existing = PdfDocument.Merge([existing_pdf1, existing_pdf2, existing_pdf3])

# Save the combined result
merged_existing.SaveAs("merged_reports.pdf")
PYTHON

ObserveO IronPDF preserva fontes, imagens, anotações e layouts de página dos arquivos de origem durante a mesclagem. Documentos com campos de formulário incorporados ou assinaturas digitais também podem ser mesclados, embora campos de formulário interativos na saída possam exigir replanificação, dependendo do seu caso de uso.

IronPDF output showing a multi-page merged PDF with thumbnail navigation panel displaying pages from four source documents

Resultado de mesclagem de vários documentos mostrando páginas de todos os quatro PDFs de origem

Quais são os próximos passos para mesclar PDFs no Python?

Este guia abordou os dois principais padrões para mesclagem de PDFs com o IronPDF: renderizar conteúdo HTML em documentos PDF e combiná-los com PdfDocument.Merge, e carregar arquivos existentes do disco para combinação em lote. Ambas as abordagens compartilham a mesma API e escalam de mesclas simples de dois arquivos para grandes lotes de documentos.

O IronPDF suporta operações adicionais após a mesclagem, como adicionar cabeçalhos e rodapés, aplicação de marcas d'água para branding, extração de texto do documento combinado e preenchimento de formulários PDF programaticamente.

A biblioteca suporta Python 3.x no Windows e Linux. Para mais operações com PDF em Python, explore divisão de PDFs, conversão de PDFs para imagens, e impressão de PDFs. Para a lista completa de exemplos de código Python, visite a página de exemplos do IronPDF for Python.

Inicie seu teste gratuito para testar a mesclagem de PDFs no seu ambiente ou veja as opções de licenciamento para implantações em produção.

Pronto para ver o que mais você pode fazer? Confira a página do tutorial do IronPDF for Python aqui: Tutoriais do IronPDF for Python

Faça o download do software.

Perguntas frequentes

Como faço para mesclar vários arquivos PDF em um só usando Python?

Instale o IronPDF com pip install ironpdf, então chame PdfDocument.Merge() com uma lista Python de objetos PdfDocument. O método retorna um novo documento combinado que você salva com SaveAs.

Posso mesclar arquivos PDF existentes do disco em vez de renderizados?

Sim. Use PdfDocument.FromFile('caminho/para/arquivo.pdf') para carregar cada PDF existente, em seguida, passe os objetos carregados para PdfDocument.Merge(). Você pode misturar documentos carregados de arquivos e recém-renderizados na mesma lista.

O PdfDocument.Merge preserva a formatação e as fontes do documento?

Sim. O IronPDF preserva fontes, imagens, anotações e layouts de página de todos os documentos de origem durante a mesclagem. A aparência original de cada documento de origem é mantida no PDF final mesclado.

Como controlo a ordem das páginas no PDF mesclado?

A ordem das páginas na saída corresponde à ordem dos objetos PdfDocument na lista Python passada para Merge. Reorganize os elementos da lista antes de chamar Merge para controlar a sequência.

Posso comprimir o PDF mesclado para reduzir o tamanho do arquivo?

Sim. Após a mesclagem, chame CompressImages(qualidade) no PdfDocument mesclado antes de chamar SaveAs. Um valor de qualidade de 90 oferece um bom equilíbrio entre compressão e fidelidade visual.

O IronPDF for Python é multiplataforma?

Sim. O IronPDF for Python suporta Python 3.x no Windows e Linux. A mesma API PdfDocument.Merge() funciona em ambas as plataformas sem quaisquer mudanças de configuração.

Posso adicionar metadados ao documento PDF mesclado?

Sim. Após a mesclagem, defina propriedades de metadados como pdf.MetaData.Author e pdf.MetaData.Title no PdfDocument mesclado antes de salvar.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Versão: 2026.5 just released
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas?
executar um exemplo Veja seu HTML se transformar em um PDF.