代码之家  ›  专栏  ›  技术社区  ›  Nishith Patel

PDFBOX生成非常大的PDF/A文件

  •  3
  • Nishith Patel  · 技术社区  · 6 年前

    我正在尝试使用PDFBOX创建PDF/A文件,文件生成已成功完成,但生成的文件非常大。。。 有时是500 MB甚至更多。 是否有任何方法可以在生成时减小文件大小?

    1 回复  |  直到 6 年前
        1
  •  5
  •   Tilman Hausherr    5 年前

    正如评论中所讨论的:特定字体的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);
    
    推荐文章