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

В нашей повседневной жизни вам может понадобиться объединить два или более 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 файлами.

Оцените статью
devanswers.ru
Добавить комментарий