Поскольку формат 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”