// 注册字体,上传 中文字体 到服务中,解决中文乱码问题
function registerServerFont(name: any, type: any, serverPath: any) {
var xhr = new XMLHttpRequest();
xhr.open('GET', serverPath, true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status == 200) {
// get binary data as a response
var blob = this.response;
//将Blob 对象转换成 ArrayBuffer
var reader = new FileReader();
reader.onload = function (e) {
var fontrrayBuffer = reader.result;
var fonts: any = {};
fonts[type] = fontrrayBuffer;
GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(name, fonts);
};
reader.readAsArrayBuffer(blob);
}
};
xhr.send();
}// publicPath 为项目 public 静态资源地址 (本地为'', 但在服务器中为 base 地址)registerServerFont('微软雅黑', 'normal', `${publicPath}/微软雅黑.ttf`);
!!!!!注册字体的操作同一份文档只用注册一次就行,如果在新增的时候注册了,又在编辑的时候再次注册,会导致 pdf 导出功能无响应
|