У нас есть PDF документ из 10 страниц. Нам нужно переставить страницы и разделить их на 3 или 4 документа. Мы использовали Pdfbox Merge Document с 1.8.xx, как и mergePdf.mergeDocuments (), он работает нормально. Теперь pdfbox версии 2.0.0, после перекомпоновки слияния 10 страниц в 3 отдельных документа происходит ошибка. Я пробовал и setuptemp, и setupmain. Оба также не дают никаких положительных входных данных.
Пример кода Pdfbox 1.8:
PDDocument document = PDDocument.load(new File(sourceFile));
PDFMergerUtility PDFmerger = new PDFMergerUtility();
Splitter splitter = new Splitter();
splitter.setStartPage(fDStartPage);
splitter.setSplitAtPage((fDEndPage));
List<PDDocument> splittedDocuments = splitter.split(document);
PDFmerger.addSource(getInputStream(splittedDocuments.get(0)));
PDFmerger.setDestinationFileName(destinationFile);
PDFmerger.mergeDocuments();
Пример кода PDFbox 2.0:
PDFMergerUtility pdfmerger = new PDFMergerUtility();
PDDocument document = PDDocument.load(new File(filename));
pdfmerger.setDestinationFileName(mergedFileName);
Splitter splitter = new Splitter();
splitter.setStartPage(9);
splitter.setSplitAtPage(10);
List<PDDocument> document1 splitter.split(document);
InputStream is = null;
ByteArrayOutputStream out = new ByteArrayOutputStream();
document1.get(0).save(out);
byte[] data = out.toByteArray();
is = new ByteArrayInputStream(data);
pdfmerger.addSource(is);
pdfmerger.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
document.close();