DataTable PDF 导出中的 RTL

问题描述 投票:0回答:1

下面的内容很好,但是由于包含阿拉伯语长文本的列,第一行变成了第二行,第二行变成了第一行:

$('#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;
                    }
                }
            }
        }
    ],
})

这是文字图片:

pdf datatable right-to-left
1个回答
0
投票

自定义:函数(文档){
$(doc.document.body).find('table').css('direction', 'rtl');
$(doc.document.body).find('table').css('text-align','right'); },

此代码适用于 ltr 表到 rtl 的转换

© www.soinside.com 2019 - 2024. All rights reserved.