找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 导出PDF乱码

1111犬瘟热温柔
金牌服务用户   /  发表于:2024-8-2 10:12  /   查看:778  /  回复:3
本帖最后由 Joestar.Xu 于 2024-8-2 14:07 编辑


调研编号:SJS-25770

image.png333182067.png
导出PDF乱码

成都售后-刘晶-销售订单.sjs

132.65 KB, 下载次数: 74

3 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-8-2 11:24:00
沙发
您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-8-6 11:05:08
板凳
您好,经调研,您的模板中存在以下三种情况的中文字体:

image.png385691222.png

image.png849119262.png

image.png358802184.png

需要为这三种情况都注册字体才可以在导出时不显示乱码。

image.png250853270.png

  1. function registerServerFont(name, type, serverPath) {
  2.   let xhr = new XMLHttpRequest();
  3.   xhr.open("GET", serverPath, true);
  4.   xhr.responseType = "blob";

  5.   xhr.onload = function (e) {
  6.     if (this.status == 200) {
  7.       let blob = this.response;
  8.       console.log("blob", blob);
  9.       let reader = new FileReader();
  10.       reader.onload = function (e) {
  11.         let fontArrayBuffer = reader.result;
  12.         let fonts = GC.Spread.Sheets.PDF.PDFFontsManager.getFont(name) || {};
  13.         fonts[type] = fontArrayBuffer;
  14.         GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(name, fonts);
  15.       };
  16.       reader.readAsArrayBuffer(blob);
  17.     }
  18.   };

  19.   xhr.send();
  20. }
复制代码


导出结果为:

image.png53687132.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-29 18:37:07
地板
您好!从跟帖信息了解到您的问题已得到了有效的解决方案,那就结帖了。如有问题,欢迎继续发帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部