使用自定义字体导出 dataTable pdf
dataTable pdf export with custom font
我正在尝试从 DataTable 导出 pdf 数据。我的 table 内容是孟加拉语。导出后它只显示奇怪的字符。我尝试下载 vfs_fonts.js 并在其中包含“NikoshBAN.ttf”字体...但 pdf 仍然无法显示内容。
this.pdfMake.fonts = {
Nikosh: {
normal: 'public/fonts/NikoshBAN.ttf'
}
};
在数据表按钮初始化中,我使用:
{
extend: 'pdf',
text: 'Export PDF',
exportOptions: {columns: ':visible'},
customize: function (doc) {
doc.defaultStyle.font = 'Nikosh';
},
}
谁能告诉我用自定义字体导出 dataTable pdf 的步骤?
提前致谢
我通过以下方式解决了问题:
- 我使用 https://www.giftofspeed.com/base64-encoder/
编码我的 NikoshBAN.ttf 文件
- 从 https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js 下载 vfs_fonts.js 文件并作为本地 .js 文件
- 然后将 NikoshBAN.ttf:"<第 1 步中的编码值" 添加到 vfs_fonts.js 文件中
- 现在在dataTable文件中使用如下:
pdfMake.fonts = {
Roboto: {
normal: 'Roboto-Regular.ttf',
bold: 'Roboto-Medium.ttf',
italics: 'Roboto-Italic.ttf',
bolditalics: 'Roboto-MediumItalic.ttf'
},
nikosh: {
normal: "NikoshBAN.ttf",
bold: "NikoshBAN.ttf",
italics: "NikoshBAN.ttf",
bolditalics: "NikoshBAN.ttf"
}
};
- 最后在我按如下方式使用的数据表按钮对象中:
buttons: [
'copy', 'csv', 'excel', 'print',
{
extend: 'pdf',
customize: function(doc) {
doc.defaultStyle.font = "nikosh";
}
}
]
现在它很有魅力!!!
我正在尝试从 DataTable 导出 pdf 数据。我的 table 内容是孟加拉语。导出后它只显示奇怪的字符。我尝试下载 vfs_fonts.js 并在其中包含“NikoshBAN.ttf”字体...但 pdf 仍然无法显示内容。
this.pdfMake.fonts = {
Nikosh: {
normal: 'public/fonts/NikoshBAN.ttf'
}
};
{
extend: 'pdf',
text: 'Export PDF',
exportOptions: {columns: ':visible'},
customize: function (doc) {
doc.defaultStyle.font = 'Nikosh';
},
}
谁能告诉我用自定义字体导出 dataTable pdf 的步骤? 提前致谢
我通过以下方式解决了问题:
- 我使用 https://www.giftofspeed.com/base64-encoder/ 编码我的 NikoshBAN.ttf 文件
- 从 https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js 下载 vfs_fonts.js 文件并作为本地 .js 文件
- 然后将 NikoshBAN.ttf:"<第 1 步中的编码值" 添加到 vfs_fonts.js 文件中
- 现在在dataTable文件中使用如下:
pdfMake.fonts = {
Roboto: {
normal: 'Roboto-Regular.ttf',
bold: 'Roboto-Medium.ttf',
italics: 'Roboto-Italic.ttf',
bolditalics: 'Roboto-MediumItalic.ttf'
},
nikosh: {
normal: "NikoshBAN.ttf",
bold: "NikoshBAN.ttf",
italics: "NikoshBAN.ttf",
bolditalics: "NikoshBAN.ttf"
}
};
- 最后在我按如下方式使用的数据表按钮对象中:
buttons: [
'copy', 'csv', 'excel', 'print',
{
extend: 'pdf',
customize: function(doc) {
doc.defaultStyle.font = "nikosh";
}
}
]
现在它很有魅力!!!