GetPages error while migrating PDFBox to 2.x
我将我的pdfbox 1.8.x迁移到2.0.12,并且必须应对一些变化。
最后一个我不知道的是发生在下面的代码中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static byte[] mergeDocuments(byte[] document1, byte[] document2) { try (PDDocument pdDocument1 = load(document1); PDDocument pdDocument2 = load(document2)) { final List<PDPage> pages1 = getPages(pdDocument1); final List<PDPage> pages2 = getPages(pdDocument2); pages1.addAll(pages2); return createDocument(pages1); } catch (IOException e) { throw new RuntimeException(e); } } private static List getPages(PDDocument pdDocumentTarget) { return pdDocumentTarget.getDocumentCatalog().getAllPages(); } |
最后一行出错,我必须将旧的".getAllPages()"更改为".getPages",但随后我将pdpageTree作为返回而不是列表。
代码是几年前写的,不是我写的。我尝试过一些方法,比如强制转换或者改变类型,但是它总是在不同的地方导致错误。
事先谢谢你的帮助
因此,你需要一种生成
This question implicates many ways to do so,E.G.Assuming Java 8:
1 2 3 4 5 | private static List<PDPage> getPages(PDDocument pdDocumentTarget) { List<PDPage> result = new ArrayList<>(); pdDocumentTarget.getPages().forEach(result::add); return result; } |