提问人:imLohith 提问时间:8/31/2023 更新时间:9/1/2023 访问量:89
如何使用 jsPDF 和 pdf-autotable 在 react 应用程序中生成带有阿拉伯语和英语内容的 pdf?
How to generate pdf with arabic and english content in react application using jsPDF and pdf-autotable?
问:
目前,我正在使用 jsPDF 和 pdf-autotable 使用对象数据以编程方式生成 pdf。我正在使用 Amiri 字体并转换为 base64,这给了我一个 js 文件。我有导出的字体变量并将其导入到组件中,我在其中一个 react 组件中有 exportPdf 函数。
这是我目前的实现。
const exportToPdf = (demographicsInfo) => {
const pdf = new jsPDF();
const lineHeight = 10;
// Set up the initial position for the layout
let currentY = lineHeight;
pdf.addFileToVFS('Amiri-Regular.ttf', amiriFont);
pdf.addFont('Amiri', 'Amiri', 'normal');
pdf.setFont('Amiri');
pdf.autoTable({
startY: currentY,
head: [['Key', 'Value']],
headStyles: { fontStyle: "Amiri" }, // For Arabic text in the table head
bodyStyles: { fontStyle: "Amiri" },
body: Object.keys(demographicsInfo).map((key) => [key, demographicsInfo[key]]),
});
pdf.save('exportedData.pdf');
};
顺便说一句,我已经在顶部导入了amiriFont。
不知道为什么这不起作用。与字体相关的文件是 public/fonts 文件夹。我尝试了所有的可能性,并搜索了所有地方。
有人可以在我做错的地方提供帮助吗?
答:
0赞
Simon Bengtsson
9/1/2023
#1
要使用 jspdf-autotable 更改字体,请将其设置为 而不是 .font
fontStyle
评论