Mesclar arquivos PDF em um único PDF

Em vários cenários, você se depara com a necessidade de mesclar dois ou mais documentos PDF em um único arquivo. Por exemplo, a mesclagem de PDF permite combinar tipos semelhantes de documentos. Além disso, você pode mesclar vários PDFs em um único PDF antes de compartilhá-lo online ou enviá-lo para alguém. Neste artigo, demonstrarei como automatizar esse recurso e mesclar vários arquivos PDF programaticamente usando Java.

API Java para mesclar arquivos PDF

Aspose.PDF for Java é uma API de PDF rica em recursos que permite mesclar vários documentos PDF facilmente em poucas linhas de código. Você pode baixar o JAR da API ou instalá-lo em seu aplicativo baseado em Maven usando a seguinte configuração.

Repositório:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependência:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

Mesclar dois arquivos PDF em um PDF em Java

Vamos primeiro verificar o cenário simples de mesclar apenas dois arquivos PDF e isso pode ser feito em algumas etapas.

O exemplo de código a seguir mostra como mesclar dois arquivos PDF em um único PDF usando Java.

// Criar editor de PDF
PdfFileEditor fileEditor = new PdfFileEditor();
// Mesclar dois arquivos PDF
fileEditor.concatenate("file1.pdf", "file2.pdf", "merged-pdf.pdf");

Mesclar vários arquivos PDF usando Java

No exemplo anterior, mesclamos apenas dois arquivos PDF em um único PDF. No entanto, pode haver um caso em que você precise mesclar mais de dois arquivos PDF. Nesses casos, você pode passar uma matriz para os caminhos dos arquivos PDF para o método concatenar. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como mesclar vários arquivos PDF em um único PDF usando Java.

// Criar objeto PdfFileEditor
PdfFileEditor fileEditor = new PdfFileEditor();
String[] files = new String[] { "file1.pdf", "file2.pdf", "pdf3.pdf" };
// Mesclar vários arquivos PDF
fileEditor.concatenate(files, "merged-pdf.pdf");

Mesclar arquivos PDF usando InputStream em Java

Caso você esteja lidando com os arquivos PDF na forma de InputStream, você pode passar diretamente os objetos InputStream e obter o PDF mesclado como um objeto OutputStream. A seguir estão as etapas para mesclar arquivos PDF carregados em objetos InputStream.

O exemplo de código a seguir mostra como mesclar arquivos PDF usando objetos InputStream em Java.

// Criar objeto PdfFileEditor
PdfFileEditor fileEditor = new PdfFileEditor();
// Primeiro arquivo PDF
InputStream stream1 = new FileInputStream("file1.pdf");
// Segundo arquivo PDF
InputStream stream2 = new FileInputStream("file2.pdf");
// OutputStream para PDF mesclado
OutputStream outstream = new FileOutputStream("merged.pdf");
// Mesclar arquivos PDF
fileEditor.concatenate(stream1, stream2, outstream);

Conclusão

Neste artigo, você aprendeu como mesclar arquivos PDF programaticamente usando Java. Os exemplos de código e o guia passo a passo mostram como mesclar dois ou mais de dois arquivos PDF usando caminhos físicos ou objetos InputStream. Você pode aprender mais sobre a biblioteca Java PDF Merger usando a documentação.

Veja também