Рубрики
Без рубрики

Разделение и объединение PDF-файлов в Java

Этот пост в блоге покажет вам, как разделить большой PDF-файл на файлы меньшего размера и как объединить несколько PDF-файлов в один с помощью Spire.PDF для Java. С тегами java, spire pdf, splitpdf, mergepdf.

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

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

  • Разделить PDF-файл на несколько одностраничных PDF-файлов
  • Разделить PDF на несколько файлов по диапазонам страниц
  • Объединить несколько PDF-файлов в один документ

Прежде чем вы сможете скомпилировать приведенные ниже фрагменты кода, загрузите Spire. PDF для Java и импортируйте Spire.Pdf.jar и Шпиль.Common.jar в ваш проект.

Разделить PDF-файл на одностраничные PDF-файлы

Spire предлагает довольно простой способ разделения многостраничного PDF-документа на несколько одностраничных PDF-документов. Просто загрузите исходный PDF-файл в объект PdfDocument, а затем вызовите метод split для выполнения разделения.

//specify input file path and output directory
String inputFile= "C:/Users/Administrator/Desktop/test.pdf";
String outputDirectory = "C:/Users/Administrator/Desktop/Output/";

//create a PdfDocument instance
PdfDocument doc = new PdfDocument();

//load a PDF file
doc.loadFromFile(inputFile);

//split PDF to single-page PDFs
doc.split(outputDirectory + "output-{0}.pdf",1);

Разделить PDF-файл по диапазонам страниц

Если вы хотите, чтобы PDF-файл был разделен по номерам выбранных страниц, например, первая страница становится одним документом, остальные страницы становятся другими, тогда вам нужно будет создать два новых PDF-документа и вставить выбранные страницы из исходного документа в новые. Следующий фрагмент кода демонстрирует то же самое.

//specify input file path and output directory
String inputFile= "C:/Users/Administrator/Desktop/test.pdf";
String outputDirectory = "C:/Users/Administrator/Desktop/Output/";

//create a PdfDocument instance
PdfDocument sourceDoc = new PdfDocument();

//load a source PDF file
sourceDoc.loadFromFile(inputFile);

//create two extra PdfDocument objects
PdfDocument newDoc_1 = new PdfDocument();
PdfDocument newDoc_2 = new PdfDocument();

//insert the first page from source file to the new PDF document
newDoc_1.insertPage(sourceDoc, 0);

//insert the rest pages from source file to the second new PDF document
newDoc_2.insertPageRange(sourceDoc,1,sourceDoc.getPages().getCount()-1);

//save the new PDF documents
newDoc_1.saveToFile(outputDirectory + "output-1.pdf");
newDoc_2.saveToFile(outputDirectory + "output-2.pdf");

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

Для выполнения этой задачи Spire предлагает еще один простой в использовании метод, называемый слиянием файлов. Просто получите и сохраните пути к входным файлам в строковом массиве, затем передайте его методу mergeFiles в качестве одного параметра, а затем сохраните возвращенный объект как новый PDF-файл.

//get the paths of the files that you want to merge
String[] filePaths = new String[]{
        "C:/Users/Administrator/Desktop/Source/input-1.pdf",
        "C:/Users/Administrator/Desktop/Source/input-2.pdf",
        "C:/Users/Administrator/Desktop/Source/input-3.pdf"
};

//specify output directory
String outputDirectory = "C:/Users/Administrator/Desktop/Output/";

//merge PDF files using mergeFiles method
PdfDocumentBase newDoc = PdfDocument.mergeFiles(filePaths);

//save the new PDF document
newDoc.save(outputDirectory + "Merged.pdf");

Оригинал: “https://dev.to/eiceblue/split-and-merge-pdf-files-in-java-k5e”