Объединение PDF-файлов в один PDF-файл

В различных сценариях вы сталкиваетесь с необходимостью объединения двух или более документов PDF в один файл. Например, слияние PDF позволяет объединять похожие типы документов. Кроме того, вы можете объединить несколько PDF-файлов в один PDF-файл, прежде чем публиковать его в Интернете или отправлять кому-либо. В этой статье я покажу, как автоматизировать эту функцию и программно объединить несколько 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, и это может быть достигнуто за пару шагов.

В следующем примере кода показано, как объединить два PDF-файла в один PDF-файл с помощью Java.

// Создать PDF-редактор
PdfFileEditor fileEditor = new PdfFileEditor();
// Объединить два PDF-файла
fileEditor.concatenate("file1.pdf", "file2.pdf", "merged-pdf.pdf");

Объединение нескольких PDF-файлов с помощью Java

В предыдущем примере мы объединили только два PDF-файла в один PDF-файл. Однако может быть случай, когда вам нужно объединить более двух файлов PDF. В таких случаях вы можете передать массив путей к файлам PDF методу конкатенации. Ниже приведены шаги для выполнения этой операции.

В следующем примере кода показано, как объединить несколько 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.

В следующем примере кода показано, как объединить 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, используя документацию.

Смотрите также