由于pdfmake不支持rtl语言,所以您需要在表行中循环并反转任何字符。
我就是这样实现的:
$('#table').dataTable({
buttons: [
{
extend: 'pdfHtml5',
text: 'PDF',
exportOptions: {
columns: ':visible',
modifier: {order: 'index'},
format: {
body: function (data, row, column, node) {
const arabic = /[\u0600-\u06FF]/;
if (arabic.test(data)) {
return data.split(' ').reverse().join(' ');
}
return data;
},
header: function (data, row, column, node) {
const arabic = /[\u0600-\u06FF]/;
if (arabic.test(data)) {
return data.split(' ').reverse().join(' ');
}
return data;
}
}
}
}
],
})
这段代码只需在表格标题和正文中搜索阿拉伯字符,然后将其反转即可。
如果您的表有页脚可以复制,请将页眉部分粘贴到exportOptions>页眉并将其重命名为页脚,就完成了。