jsPDF:如何呈现 Ä Ü Ö?

时间:2021-04-28 06:34:23

标签: jspdf jspdf-autotable

我正在使用 jsPDF 从网页创建 pdf 文件。我喜欢添加文本,但如果使用 ä ö ü 将无法正确呈现。

我尝试使用文档将 Unicode 字符添加到我的 pdf 中,但是他们为与 Unicode 部分相关的库添加的文档不包含任何示例。如果能举个例子就好了。

这是我的代码:

function doDocData(doc) {
    var number_of_pages = doc.internal.getNumberOfPages()
    var pdf_pages = doc.internal.pages
                                                    
    doc.setFontStyle('normal');//optional
    for (var i = 1; i < pdf_pages.length; i++) {
        doc.setPage(i)
                           
        var strl = 'I like to add Ä Ü Ö';
        doc.setFontSize(10);// optional
        doc.text(strl, 20, doc.internal.pageSize.height - 10);//key is the interal pageSize
                            
        var str = 'Seite ' + i  + ' von ' +  number_of_pages;
        doc.setFontSize(10);// optional
        doc.text(str, doc.internal.pageSize.width - 80, doc.internal.pageSize.height - 10);//key is the interal pageSize
    }
}

1 个答案:

答案 0 :(得分:0)

对于 utf-8 编码的字符,如 Ä、Ö、Ü,您需要包含一种字体,即 utf-8 编码的字体(如文档中所述:Use of Unicode Characters / UTF-8),因为 jsPDF 默认仅包含 ASCII字体。 像这样的字体(ARIAL utf-8 注意:打开 arialuni.ttf 的下载)可以由 jsPDF 自己的 fontconverter 转换。 您可以在此处找到如何包含转换后的字体的代码示例:setFont in jsPDF