jsPDF RTL阿拉伯文问题

时间:2020-05-25 16:56:50

标签: javascript pdf-generation jspdf

您好,我正在尝试用英语和阿拉伯语打印PDF,但没有成功。它不会以阿拉伯语打印。任何指针都很棒。在这个应用程序中,我有两种选择,一种是下载英文PDF,另一种是下载阿拉伯文。我的代码如下:

这里是英文印刷:

    $('#downloadPdf').click(function(event) {
        var canvas1 = document.querySelector('#myChart');
        var canvas2 = document.querySelector('#averageChart');
    //creates image
    var canvasImg1 = canvas1.toDataURL("image/png", 1.0);
    var canvasImg2 = canvas2.toDataURL("image/png", 1.0);
    var cname = <?php echo json_encode($cname); ?>;

  // create new pdf and add our new canvas as an image
  var pdf = new jsPDF('p', 'pt', 'a4');
  pdf.autoTable({html: '#chart-head',startY: 39});
  pdf.addImage(canvasImg1, 'PNG', 10, 70, 320, 160 );
  pdf.addImage(canvasImg2, 'PNG', 260, 70, 340, 160 );
  pdf.autoTable({html: '#charttable',startY: 310});
  pdf.autoTable({html: '#pdftable',startY: 380});

// PAGE NUMBERING
// Add Page number at bottom-right
// Get the number of pages
const pageCount = pdf.internal.getNumberOfPages();
var today = new Date();
var dd = today.getDate();

var mm = today.getMonth()+1; 
var yyyy = today.getFullYear();
today = mm+'-'+dd+'-'+yyyy;

// For each page, print the page number and the total pages
for(var i = 1; i <= pageCount; i++) {
     // Go to page i
     pdf.setPage(i);
     pdf.setFontSize(8);
     //Print Page 1 of 4 for example
     pdf.text('Page ' + String(i) + ' of ' + String(pageCount),560,810,null,null,"right");
 }
// For header
for(var i = 1; i <= pageCount; i++) {
     // Go to page i
     pdf.setPage(i);
     pdf.setFontSize(14);
     pdf.text('Course Report: ' + cname ,290,20,null,null,"center");
     pdf.setFontSize(8);
     pdf.text(today,290,30,null,null,"center");
 }

  // download the pdf
  pdf.save('Course_Report.pdf');
});

阿拉伯语代码:

$('#downloadPdfarabic').click(function(event) {
    var doc = new jsPDF();
    doc.addFileToVFS('Amiri-Regular.ttf','AAEAAAASAQAABAAgR........';
    doc.addFont('Amiri-Regular.ttf', 'custom', 'normal');

    doc.setFont('custom');
    doc.text(15, 15, 'متوسط درجة التقييم');

    });

0 个答案:

没有答案
相关问题