В нашей повседневной жизни вам может понадобиться объединить два или более PDF-файлов в один PDF-файл. Spire.PDF для Java предлагает метод PdfDocument.mergeFiles() для простого объединения PDF-файлов. В этой статье будет показано, как объединить несколько PDF-файлов в Java из следующих трех частей.
- Слияние нескольких PDF-файлов из файла и последующее объединение их в один PDF-файл
- Слияние потоков PDF-файлов в качестве входных данных и их объединение в новый PDF-файл
- Слияние выбранных страниц из разных PDF и объединение их в один PDF.
Установка Spire.PDF для Java
Прежде всего, вам необходимо добавить файл Spire.PDF.jar в качестве зависимости в вашу программу на Java. JAR-файл можно загрузить по этой ссылке. Если вы используете Maven, вы можете легко импортировать JAR-файл, добавив следующий код в файл pom.xml вашего проекта.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>8.7.0</version>
</dependency>
</dependencies>
Объединение нескольких PDF-файлов в один PDF-файл
Объединить PDF-файлы с помощью Spire.PDF очень просто. Ниже описаны шаги по объединению трех PDF-документов в один.
- Получите пути объединяемых документов и сохраните их в массиве String.
- Объедините выбранные PDF-файлы с помощью метода PdfDocument.mergeFiles().
- Сохраните PDF-документ с помощью метода PdfDocumentBase.save().
import com.spire.pdf.*;
public class mergePDF {
public static void main(String[] args) throws Exception {
//Get the paths of the documents to be merged
String[] files = new String[] {
"E:\OLE\sample.pdf",
"E:\OLE\sample1.pdf",
"E:\OLE\sample2.pdf"};
//Merge these documents and return an object of PdfDocumentBase
PdfDocumentBase pdf = PdfDocument.mergeFiles(files);
//Save the result to a PDF file
pdf.save("MergedPDF.pdf", FileFormat.PDF);
}
}
Слияние PDF-файлов по потоку и объединение их в новый PDF-документ
Spire.PDF также поддерживает загрузку потоков PDF и их последующее объединение в новый PDF-файл.
- Получите пути потоков PDF и затем сохраните их в массив InputStream.
- Объедините выбранные PDF-файлы с помощью метода PdfDocument.mergeFiles().
- Сохраните PDF-документ с помощью метода PdfDocumentBase.save().
import com.spire.pdf.*;
import java.io.*;
public class mergePDFbyStream {
public static void main(String[] args) throws Exception {
FileInputStream stream1 = new FileInputStream(new File("sample.pdf"));
FileInputStream stream2 = new FileInputStream(new File("sample1.pdf"));
InputStream[] streams = new FileInputStream[]{stream1, stream2};
//Merge these documents and return an object of PdfDocumentBase
PdfDocumentBase pdf = PdfDocument.mergeFiles(streams);
//Save the result to a PDF file
pdf.save("MergedPDF2.pdf", FileFormat.PDF);
}
}
Слияние выбранных страниц из разных PDF-документов и объединение их в один PDF-документ
Spire.PDF для Java предлагает метод PdfDocument.insertPage() и метод PdfDocument.insertPageRange() для импорта страницы или диапазона страниц из одного PDF документа в другой. Ниже описаны шаги по объединению страниц PDF из разных PDF-файлов в новый PDF.
- Получите пути объединяемых документов и сохраните их в массиве String.
- Создайте объект PdfDocument и загрузите в него исходный документ.
- Создайте другой объект PdfDocument для генерации нового документа.
- Вставьте выбранную страницу или диапазон страниц исходных документов в новый документ с помощью методов PdfDocument.insertPage() и PdfDocument.insertPageRange().
- Сохраните файл результата с помощью метода PdfDocument.saveToFile().
import com.spire.pdf.*;
import java.io.*;
public class mergePDF {
public static void main(String[] args) throws Exception {
//Get the paths of the documents to be merged
String[] files = new String[] {
"E:\OLE\sample.pdf",
"E:\OLE\sample1.pdf",
"E:\OLE\sample2.pdf"};
//Create an array of PdfDocument
PdfDocument[] pdf = new PdfDocument[files.length];
//Loop through the documents
for (int i = 0; i < files.length; i++)
{
//Load a specific document
pdf[i] = new PdfDocument(files[i]);
}
//Create a PdfDocument object for generating a new PDF document
PdfDocument doc = new PdfDocument();
//Insert the selected pages from different documents to the new document
doc.insertPage(pdf[0], 0);
doc.insertPage(pdf[1],0);
doc.insertPageRange(pdf[2], 0,1);
//Save the document to a PDF file
doc.saveToFile("MergedPDF3.pdf");
}
}
Заключение
В этой статье мы показали, как объединить несколько PDF-файлов в один PDF с помощью Java. С помощью Spire.PDF for Java мы также можем разделить один PDF-файл на множество PDF-файлов по страницам. Вы можете посетить PDF форум для получения дополнительной информации о работе с PDF файлами.