首页 > 解决方案 > 如何禁用默认字体列表嵌入 jsPDF?

问题描述

我最近开始评估用于 PDF 生成的 jsPDF,最终输出用于打印目的。对于我正在运行的当前测试,我将自定义字体嵌入到 PDF 中。但是,我注意到在生成的 PDF 中,整个默认字体列表也嵌入到了 PDF 中。

字体列表(默认 + 自定义字体):

{
  "helvetica":[
    "normal",
    "bold",
    "italic",
    "bolditalic"
  ],
  "Helvetica":[
    "",
    "Bold",
    "Oblique",
    "BoldOblique"
  ],
  "courier":[
    "normal",
    "bold",
    "italic",
    "bolditalic"
  ],
  "Courier":[
    "",
    "Bold",
    "Oblique",
    "BoldOblique"
  ],
  "times":[
    "normal",
    "bold",
    "italic",
    "bolditalic"
  ],
  "Times":[
    "Roman",
    "Bold",
    "Italic",
    "BoldItalic"
  ],
  "zapfdingbats":[
    "normal"
  ],
  "ZapfDingbats":[
    ""
  ],
  "symbol":[
    "normal"
  ],
  "Symbol":[
    ""
  ],
  "Arial":[
    "normal"
  ]
}

在输出的 PDF 属性中,我可以看到所有这些嵌入: 在此处输入图像描述

所以我的问题是如何禁用嵌入默认字体?我只想嵌入文档内容实际需要的字体。

标签: javascriptpdffontsjspdfcustom-font

解决方案


事实证明,直到 1.5.3(发布时最新)的版本中不存在此功能。但是,贡献者表示,以下内容将在未来的版本中起作用:

const doc = new jsPDF({ putOnlyUsedFonts: true });

来源:https ://github.com/MrRio/jsPDF/issues/2272


推荐阅读