我正在尝试使用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);