PDFMAKE, PDFHTML5, DATATABLE를 작성할 때 중국어가 달린 코드의 문제를 해결하는 데 사용됩니다.
현재 중국어 vfs_fonts.js base64 인코딩 다음에 글꼴 파일을 생성하는 가장 작은 도구
기본적으로 가장 작은 중국 글꼴은 2 개의 굵은 스타일과 일반 스타일과 통합되며 1.7m에 불과합니다. 현재 가장 작은 중국 글꼴이어야합니다! !
우선, 노드 환경을 설치해야합니다. 현재 모든 노드 버전 v16, 14, 12 및 10은 괜찮습니다.
둘째, 생성하려는 VFS 글꼴 파일을 Fonts 폴더에 넣은 다음 CNPM Install && npm run 빌드를 실행하십시오.
cnpm install
# 构建 vfs_fonts.js
npm run build글꼴 폴더의 모든 글꼴은 포장됩니다. 공식 기본 Roboto 글꼴이 필요하지 않은 경우 Roboto-XXX 파일을 삭제할 수 있습니다!
해당 스크립트 수정 Package.json 파일에서 스크립트 빌드 스크립트
"scripts" : {
"build:vfs" : " node node_modules/pdfmake/build-vfs.js " ./fonts " " ./build/vfs_fonts.js " "
},build-vfs.js vfs 파일 이름 글꼴을 저장하는 폴더에 의해 생성됩니다.
var defaultclientfonts = {} pdfmake.js 파일에서 생성 된 VFS 글꼴을 등록하고 글꼴 이름 및 해당 글꼴 스타일을 글꼴 이름 {normal : xxx, xxx, 이탈리아 : XXX, Bold Itatic : XXX}에 해당하는 글꼴 이름 및 해당 글꼴 스타일을 등록하고 여기에 직접 등록 된 글꼴 이름을 사용하십시오.
var defaultClientFonts = {
Hyzh : {
normal : 'hyzjh_zh.ttf' ,
bold : 'hylxt_bold.ttf' ,
italics : 'hyzjh_zh.ttf' ,
bolditalics : 'hylxt_bold.ttf'
} ,
Roboto : {
normal : 'Roboto-Regular.ttf' ,
bold : 'Roboto-Medium.ttf' ,
italics : 'Roboto-Italic.ttf' ,
bolditalics : 'Roboto-MediumItalic.ttf'
}
} ;기본 구성
var defaultClientFonts = {
Roboto : {
normal : 'Roboto-Regular.ttf' ,
bold : 'Roboto-Medium.ttf' ,
italics : 'Roboto-Italic.ttf' ,
bolditalics : 'Roboto-MediumItalic.ttf'
}
} ; <!DOCTYPE html >
< html lang =" zh-CN " >
< head >
< meta charset =" utf-8 " >
< title > Pdfmake export Chinese PDF </ title >
< script src =" pdfmake.min.js " > </ script >
< script src =" vfs_fonts.js " > </ script >
< script >
function down ( data ) {
var doc = {
content : [
data ,
'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
] ,
defaultStyle : {
font : 'Hyzh' ,
fontSize : 12
}
} ;
pdfMake . fonts = {
Roboto : {
normal : 'Roboto-Regular.ttf' ,
bold : 'Roboto-Medium.ttf' ,
italics : 'Roboto-Italic.ttf' ,
bolditalics : 'Roboto-Italic.ttf'
} ,
Hyzh : {
normal : 'hyzjh_zh.ttf' ,
bold : 'hylxt_bold.ttf' ,
italics : 'hyzjh_zh.ttf' ,
bolditalics : 'hylxt_bold.ttf'
}
} ;
pdfMake . createPdf ( doc ) . download ( ) ;
}
</ script >
</ head >
< body >
< button onclick =" down('最小的支持中文显示的pdf生成工具') " >下载</ button >
</ body >
</ html > 자세한 정보 https://datatables.net/reference/button/pdfhtml5 https://datatables.club/reference/button/pdfhtml5.html