3

使用 pdfbox,如何只复制页面资源而不是为单个页面复制文档的所有资源?这是我用来提取页面并将其添加到新文档的代码,但这会创建一个大文件,我认为即使我添加一个页面,它也会复制文档的所有资源。有什么方法可以压缩内容吗?

pageToAdd = (PDPage) billDoc.getDocumentCatalog().getAllPages().get(j-1);
outputDoc.addPage(pageToAdd);
4

1 回答 1

2

添加或拆分页面时,您只能复制所需的资源。这完全取决于您的需求或您想要完全添加/删除的内容。您还可以检查 mergeInto() 以合并 COS 字典。例如仅复制字体:

PDResources res = pageToAdd.getResources();
PDResources newres = new PDResources();

newres.setFonts(res.getFonts());
pageToAdd.setResources(newres);
outputDoc.addPage(pageToAdd);
于 2013-09-24T09:38:07.780 回答