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.
- Mesclar dois arquivos PDF em um único PDF usando Java
- Mesclar vários arquivos PDF usando Java
- Use objetos InputStream para mesclar arquivos PDF 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.
- Crie uma instância da classe PdfFileEditor.
- Mesclar arquivos PDF usando o método PdfFileEditor.concatenate(String firstInputFile, String secInputFile, String outputFile).
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.
- Crie uma instância da classe PdfFileEditor.
- Coloque os caminhos dos arquivos PDF em uma matriz de strings.
- Mesclar arquivos PDF usando o método PdfFileEditor.concatenate(String[] inputFiles, String outputFile).
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.
- Crie uma instância da classe PdfFileEditor.
- Carregue os arquivos PDF nos objetos InputStream.
- Mesclar PDFs usando o método PdfFileEditor.concatenate(InputStream firstInputStream, InputStream secInputStream, OutputStream outputStream).
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.