使用pdfbox,如何仅复制页面资源而不是复制单个页面的文档的所有资源?这是我用来提取页面并将其添加到新文档的代码,但这会创建一个大文件,我认为即使添加单个页面也会复制文档的所有资源。有没有压缩内容的方法?
pageToAdd = (PDPage) billDoc.getDocumentCatalog().getAllPages().get(j-1);
outputDoc.addPage(pageToAdd);
答案 0 :(得分:2)
添加或拆分页面时,您只能复制所需的资源。这完全取决于您的需求或您想要完全添加/删除的内容。您还可以检查mergeInto()以合并COS字典。例如,仅复制字体:
PDResources res = pageToAdd.getResources();
PDResources newres = new PDResources();
newres.setFonts(res.getFonts());
pageToAdd.setResources(newres);
outputDoc.addPage(pageToAdd);