我正在尝试使用PDFBOX创建PDF / A文件,并且文件生成成功完成,但是生成的文件很大…
有时500 MB甚至更多.
有什么方法可以减少生成时的文件大小吗?
解决方法:
如评论中所讨论:特定字体的PDFont对象仅应构造一次,并且可以在一个PDF的不同页面中重复使用.
对于使用PDType0Font.load()的字体,应将其子集化(即,仅嵌入使用过的字形).
这同样适用于PDXObjectImage对象,例如用于公司徽标:PDXObjectImage应该创建一次,并在一个PDF的不同页面中重复使用.
PD对象不应在不同的PDF中使用.
TrueTypeFont字体对象可以在多个文档中重复使用:
TrueTypeFont ttf = new TTFParser().parse(file);
PDFont font1 = PDType0Font.load(document1, ttf, true); // last parameter should be false if used for acroForm fields
PDFont font2 = PDType0Font.load(document2, ttf, true);
PDFont font3 = PDType0Font.load(document3, ttf, true);