在pdf中显示阿拉伯值的代码不起作用。它向我展示了一些我不懂的奇怪语言:
var sm = {
nature:[
{name:"nature1",ar:"الطبيعة 1"},
{name:"nature2",ar:"الطبيعة 2"},
{name:"nature3",ar:"الطبيعة 3"},
{name:"nature4",ar:"الطبيعة 4"}
],
exportateur:[
{name:"exportateur1",ar:"المصدر 1"},
{name:"exportateur2",ar:"المصدر 2"},
{name:"exportateur3",ar:"المصدر 3"},
{name:"exportateur4",ar:"المصدر 4"}
],
pays:[
{name:"germany",ar:"ألمانيا"},
{name:"france",ar:"فرنسا"},
{name:"belgium",ar:"بلجيكا"},
{name:"spain",ar:"إسبانيا"}
]
}
function createPdf(event){
"use strict";
var doc = new jsPDF();
doc.text("Nature de la marchandise: "+sm.nature[0].ar,10, 10);
doc.save("output.pdf");
}结果:

发布于 2022-02-21 11:21:03
您需要使用支持阿拉伯文字的字体。确保它是ttf型的。Amiri字体是一种适用于jsPDF的字体。使用此工具上载字体文件,它将生成一个适当的js文件,其中包含字体的base64数据和jsPDF设置,以将字体添加到其API中。之后,您需要将文件导入到代码中,并将doc字体设置为您刚刚导入的字体。确保使用js文件中设置的名称。
doc.setFont("Amiri")发布于 2022-05-30 09:11:32
我用了这个方法。您需要一个显示阿拉伯文本的字体,我已经在这个文件中包含了一个显示阿拉伯文本的字体的base64版本。
https://codesandbox.io/s/js-playground-forked-19t4vw?file=/src/index.js
https://stackoverflow.com/questions/71123396
复制相似问题