如何修复“未定义jsPDFAPI”

时间:2019-04-12 07:38:21

标签: jspdf

我正在将calibri.ttf字体添加到jsPDF文件中, 根据使用UTF-8 / TTF:this github link

中给出的部分

我跟随this页面,并且这样生成的* .js文件包含在我的项目中。

<script src="~/Scripts/jspdf.min.js"></script>
<script src="~/Scripts/calibri-normal.js"></script>

,然后尝试将字体用作:

var option = {
    orientation: 'l',
    unit: 'in',
    format: [9, 6.9],
    putOnlyUsedFonts: false
}
var lx = 0.5, ly = 1;
var gap = 0.3;
var doc = new jsPDF(option)
//doc.addFont('calibri-normal.ttf', 'calibri', 'normal');
doc.setFontStyle('calibri')
doc.setFontSize(8)
   .text('Custom Font Family Used', lx + 1.0, ly - 0.05);

在此处添加/删除行;

doc.addFont('calibri-normal.ttf', 'calibri', 'normal');

未实现calibri字体,
虽然

doc.getFontList()

显示包括的字体“ calibri”,未实现自定义字体。仍使用默认字体。

然后在检查生成的custom-font.js时出现错误消息:“未定义jsPDFAPI”。

Error Message Thrown in custome-font.js While Inspecting

如何解决此“未定义jsPDFAPI”问题? 我在这里想念的要在jsPDF中实现自定义字体的东西。

谢谢。

1 个答案:

答案 0 :(得分:0)

就我而言,我已经从here下载了该库,它的版本是1.3.2。之后,我使用了CDN版本。当前使用1.5.3,它工作正常。似乎没有更新从原始网站下载的文件,并且很可能hmac_hash = OpenSSL::HMAC.hexdigest("SHA384", key, message) signature = Base64.encode64(hmac_hash) 支持未包含在1.3.2版本中。

因此,不要使用该网站,只需添加CDN的最新版本即可; utf-8