Попытка слияния документа с PDFMergerUtility в pdfbox 2.00 - PullRequest
0 голосов
/ 18 октября 2019

У нас есть 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();
...