
В различных сценариях вы сталкиваетесь с необходимостью объединения двух или более документов PDF в один файл. Например, слияние PDF позволяет объединять похожие типы документов. Кроме того, вы можете объединить несколько PDF-файлов в один PDF-файл, прежде чем публиковать его в Интернете или отправлять кому-либо. В этой статье я покажу, как автоматизировать эту функцию и программно объединить несколько PDF-файлов с помощью Java.
- Объединение двух PDF-файлов в один PDF-файл с помощью Java
- Объединение нескольких PDF-файлов с помощью Java
- Используйте объекты InputStream для объединения PDF-файлов с помощью Java
Java API для слияния файлов PDF
Aspose.PDF for Java — это многофункциональный PDF API, который позволяет легко объединять несколько PDF-документов, написав всего несколько строк кода. Вы можете либо скачать JAR-файл API, либо установить его в свое приложение на основе Maven, используя следующую конфигурацию.
Репозиторий:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Зависимость:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.5</version>
<classifier>jdk17</classifier>
</dependency>
Объединить два PDF-файла в один PDF-файл в Java
Давайте сначала проверим простой сценарий слияния только двух файлов PDF, и это может быть достигнуто за пару шагов.
- Создайте экземпляр класса PdfFileEditor.
- Объединяйте PDF-файлы, используя метод PdfFileEditor.concatenate (String firstInputFile, String secInputFile, String outputFile).
В следующем примере кода показано, как объединить два PDF-файла в один PDF-файл с помощью Java.
// Создать PDF-редактор
PdfFileEditor fileEditor = new PdfFileEditor();
// Объединить два PDF-файла
fileEditor.concatenate("file1.pdf", "file2.pdf", "merged-pdf.pdf");
Объединение нескольких PDF-файлов с помощью Java
В предыдущем примере мы объединили только два PDF-файла в один PDF-файл. Однако может быть случай, когда вам нужно объединить более двух файлов PDF. В таких случаях вы можете передать массив путей к файлам PDF методу конкатенации. Ниже приведены шаги для выполнения этой операции.
- Создайте экземпляр класса PdfFileEditor.
- Поместите пути файлов PDF в массив строк.
- Объединяйте PDF-файлы, используя метод PdfFileEditor.concatenate(String[] inputFiles, String outputFile).
В следующем примере кода показано, как объединить несколько PDF-файлов в один PDF-файл с помощью Java.
// Создать объект PdfFileEditor
PdfFileEditor fileEditor = new PdfFileEditor();
String[] files = new String[] { "file1.pdf", "file2.pdf", "pdf3.pdf" };
// Объединение нескольких PDF-файлов
fileEditor.concatenate(files, "merged-pdf.pdf");
Объединение PDF-файлов с помощью InputStream в Java
Если вы имеете дело с файлами PDF в форме InputStream, вы можете напрямую передать объекты InputStream и получить объединенный PDF как объект OutputStream. Ниже приведены шаги для объединения PDF-файлов, загруженных в объекты InputStream.
- Создайте экземпляр класса PdfFileEditor.
- Загрузите файлы PDF в объекты InputStream.
- Объединяйте PDF-файлы, используя метод PdfFileEditor.concatenate(InputStream firstInputStream, InputStream secInputStream, OutputStream outputStream).
В следующем примере кода показано, как объединить PDF-файлы с помощью объектов InputStream в Java.
// Создать объект PdfFileEditor
PdfFileEditor fileEditor = new PdfFileEditor();
// Первый PDF-файл
InputStream stream1 = new FileInputStream("file1.pdf");
// Второй PDF-файл
InputStream stream2 = new FileInputStream("file2.pdf");
// OutputStream для объединенного PDF
OutputStream outstream = new FileOutputStream("merged.pdf");
// Объединить PDF-файлы
fileEditor.concatenate(stream1, stream2, outstream);
Вывод
В этой статье вы узнали, как программно объединять PDF-файлы с помощью Java. В примерах кода и пошаговом руководстве показано, как объединить два или более PDF-файла с использованием физических путей или объектов InputStream. Вы можете узнать больше о библиотеке Java PDF Merger, используя документацию.