Все работает отлично, но заголовки кажутся искаженными /испорченными текстами вместо правильных арабских персонажей. < /p>
const handlePDFExportArabic = () => {
const doc = new jsPDF({ orientation: "landscape" });
//
doc.addFileToVFS("Amiri-Regular.ttf", arabicFont);
doc.addFont("Amiri-Regular.ttf", "Amiri", "normal");
doc.setFont("Amiri");
//
doc.setLanguage("ar");
//
doc.text("
align: "right",
lang: "ar",
});
//
autoTable(doc, {
startY: 20,
head: [
[
"رقم الطلب", // Request ID
"رقم الحساب", // Account Number
"اسم العميل", // Customer Name
"الفرع", // Branch
"الحد الائتماني", // Credit Limit
"رقم السجل التجاري", // CR Number
"حالة السجل التجاري", // CR Status
"الحالة", // Status
],
],
body: rowData.map((row) => [
row.RequestId || "غير متوفر",
row.AccountNumber || "غير متوفر",
row.customerInfo?.[0]?.commercialNameArabic || "غير متوفر",
row.branchIdArabic || "غير متوفر",
row.customerInfo?.[0]?.capital
? row.customerInfo[0].capital
.toString()
.replace(/\B(?=(\d{3})+(?!\d))/g, ",") + " ريال"
: "غير متوفر",
row.customerInfo?.[0]?.crNumber || "غير متوفر",
new Date(row.customerInfo?.[0]?.crEndDateGregorian) > new Date()
? "
: "
row.Status.includes("Waiting")
? "
: row.Status.includes("Approved")
? "
: row.Status.includes("Rejected")
? "
: "غير متوفر",
]),
theme: "grid",
margin: { top: 30 },
styles: {
font: "Amiri",
fontSize: 10,
useUnicode: true,
halign: "right",
},
headStyles: { fontStyle: "bold", font: "Amiri", halign: "right", useUnicode: true },
columnStyles: {
0: { cellWidth: "wrap" }, // Request ID
1: { cellWidth: "wrap" }, // Account Number
2: { cellWidth: "wrap" }, // Customer Name (wider)
3: { cellWidth: 20 }, // Branch
4: { cellWidth: "wrap" }, // Credit Limit
5: { cellWidth: "wrap" }, // CR Number
6: { cellWidth: 40 }, // CR Status
7: { cellWidth: "wrap" }, // Status
},
});
//
doc.save("قائمة_العملاء_الائتمانيين.pdf");
};
< /code>
Проблема
Я уже:
Добавлен useUnicode: true
Applied Font: "Amiri"
используется doc.setlanguage ("ar")
halign: "Право" < /p>
haleg JSPDF Autotable
Подробнее здесь: https://stackoverflow.com/questions/795 ... rrupt-text