Генерация PDF с арабскими шрифтами - PullRequest
0 голосов
/ 06 октября 2018

Я хочу скачать pdf-файл с арабскими шрифтами в действии и не нашел решения.В настоящее время я использую jsPdf, но он неправильно отображает арабский шрифт

let doc = new PDFDocument
let doc = new pdf();
doc.setFontSize(10);
doc.rect(20, 20, doc.internal.pageSize.getWidth() - 40, 
doc.internal.pageSize.getHeight() - 40, 'S');
doc.setTextColor(128,0,128);
doc.text("Date", 30, 25);
doc.text(this.state.date, 50, 25);
doc.text("السلام عليكم", 30, 35);
doc.text("Quantity", 120, 35);
let distance = 30;
doc.save("data.pdf");

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Арабский шрифт можно распечатать в pdf, выполнив следующие действия

  1. Преобразование HTML в холст с помощью html2canvas
  2. Преобразование изображения в pdfиспользуя jspdf

    const input = document.getElementById('divIdToPrint');    
    html2canvas(input)
          .then((canvas) => {
            const imgData = canvas.toDataURL('image/png');
            const pdf = new jsPDF();
            pdf.addImage(imgData, 'PNG', 0, 0);
            pdf.save("download.pdf");  
      });
    

Подробности в этом блоге

Демонстрационная ссылка на Stackblitz

0 голосов
/ 06 октября 2018

Вы пытались добавить опцию {lang: 'value'}?

doc.text(['لا إله إلا الله محمد رسول الله', 'لا إله إلا الله', 'a'], 100, 100, { lang: 'ar' });
...