<script>
pdfMake.vfs = vfs;
pdfMake.fonts = {
Nillima: {
normal: 'Nillima.ttf',
bold: 'Nillima.ttf',
italics: 'Nillima.ttf',
bolditalics: 'Nillima.ttf',
},
Roboto: {
normal: 'Roboto-Regular.ttf',
bold: 'Roboto-Medium.ttf',
italics: 'Roboto-Italic.ttf',
bolditalics: 'Roboto-MediumItalic.ttf',
},
};
const docDefinition = {
content: [
{ text: 'Multilingual Tables', style: 'title' },
{ text: 'This document demonstrates the use of multilingual tables with automatic RTL (Right-to-Left) text detection. It includes examples in English, Arabic, Persian, and Urdu.', style: 'paragraph' },
{ text: 'يوضح هذا المستند استخدام الجداول متعددة اللغات مع الكشف التلقائي عن النصوص من اليمين إلى اليسار. يتضمن أمثلة باللغات الإنجليزية والعربية والفارسية والأردية.', style: 'paragraph' },
{ text: 'این سند استفاده از جداول چندزبانه با تشخیص خودکار متن راست به چپ را نشان میدهد. شامل مثالهایی به زبانهای انگلیسی، عربی، فارسی و اردو است.', style: 'paragraph' },
{ text: 'یہ دستاویز کثیر لسانی جدولوں کے استعمال کو خودکار دائیں سے بائیں متن کی شناخت کے ساتھ ظاہر کرتی ہے۔ اس میں انگریزی، عربی، فارسی اور اردو میں مثالیں شامل ہیں۔', style: 'paragraph' },
{ text: '\nEnglish Table:\n', style: 'header' },
{
table: {
headerRows: 1,
widths: ['*', '*', '*'],
body: [
[
{ text: 'Freedom', style: 'tableHeader' },
{ text: 'Courage', style: 'tableHeader' },
{ text: 'Humanity', style: 'tableHeader' }
],
[
{
text: 'Freedom allows individuals to make decisions without restrictions...',
style: 'tableCell'
},
{
text: 'Courage enables us to confront risks with confidence...',
style: 'tableCell'
},
{
text: 'Humanity means standing by those in need...',
style: 'tableCell'
}
]
// More rows...
]
},
layout: { defaultBorder: true }
}
// Arabic, Persian, Urdu tables...
],
defaultStyle: {
font: 'Roboto',
fontSize: 11,
},
styles: {
title: { fontSize: 18, bold: true, margin: [0, 0, 0, 10] },
header: { fontSize: 14, bold: true, margin: [0, 10, 0, 5] },
tableHeader: { bold: true, fillColor: '#f0f0f0', fontSize: 12, margin: [5, 5, 5, 5] },
tableCell: { margin: [5, 5, 5, 5] }
}
};
// Generate PDF
function createPDF() {
pdfMake.createPdf(docDefinition).download('rtl-document.pdf');
}
// Or open in new window
function openPDF() {
pdfMake.createPdf(docDefinition).open();
}
</script>