找回密码
 立即注册

QQ登录

只需一步,快速开始

Jes

注册会员

10

主题

36

帖子

136

积分

注册会员

积分
136
Jes
注册会员   /  发表于:2019-9-25 16:44  /   查看:2782  /  回复:7
本帖最后由 Jes 于 2019-9-25 18:13 编辑

想为项目的导出pdf功能注册几个字体对注册字体的概念上不太理解 找了demo改了改

但是好像不管用 麻烦版主大大 看下哪儿的问题


和demo里不同的是 每个单元格的字体并不确定 是通过类似编辑器的那种 现修改的

引入的文件
image.png440889281.png
抄的demo里的
image.png821535339.png
注册的常用字体
image.png155049742.png


附件里有 不带字体文件的代码(太大了~)





pdf.zip

984.93 KB, 下载次数: 57

7 个回复

倒序浏览
kzk
金牌服务用户   /  发表于:2019-9-25 17:09:57
沙发
这个你在服务器上安装相应的字体文件了,如过没安装是不能显示的
回复 使用道具 举报
kzk
金牌服务用户   /  发表于:2019-9-25 17:10:31
板凳
https://www.grapecity.com.cn/blogs/spreadjsdanyuangezitishezhi这个是一片关于注册字体的文章,你可以参考一下
回复 使用道具 举报
kzk
金牌服务用户   /  发表于:2019-9-25 17:12:32
地板
然后这个链接是我遇到过同样的问题,你可以参考一下https://gcdn.grapecity.com.cn/fo ... p;extra=&page=3

评分

参与人数 1金币 +300 收起 理由
KevinChen + 300 很给力!

查看全部评分

回复 使用道具 举报
Jes
注册会员   /  发表于:2019-9-25 18:14:35
5#
kzk 发表于 2019-9-25 17:12
然后这个链接是我遇到过同样的问题,你可以参考一下https://gcdn.grapecity.com.cn/forum.php?mod=viewthrea ...

谢谢 我研究下
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-9-25 18:22:25
6#
补充一下,如果是字体不确定的情况下,又不能把所有字体都注册一遍,这种情况SpreadJS也提供了一个接口来处理。

请注意这篇文章的Demo :

https://www.grapecity.com.cn/blo ... ont-garbled-problem

Demo中有这样一个回调接口:

  1. function addFontsToFontManager(fontsObj) {
  2.             var fonts = {
  3.                 normal: fontsObj["simkai.ttf"]
  4.             };
  5.             GC.Spread.Sheets.PDF.PDFFontsManager.fallbackFont = function (font) {
  6.                 var fontInfoArray = font.split(' '), fontName = fontInfoArray[fontInfoArray.length - 1];
  7.                 if (fontName === 'mtcorsva') {
  8.                     return fonts.normal;
  9.                 }
  10.             }
  11.         }
复制代码


这个方法就是处理当遇到不明字体时,一律采用备用字体处理的回调。
回复 使用道具 举报
Jes
注册会员   /  发表于:2019-9-26 10:26:19
7#
KevinChen 发表于 2019-9-25 18:22
补充一下,如果是字体不确定的情况下,又不能把所有字体都注册一遍,这种情况SpreadJS也提供了一个接口来处 ...

目前是 虽然 最终所用字体不确定 但是 全部用到的字体 就常见的五种(就是上面注册的五种) 按说应该不会有乱码了 但是还是有 所以现在不太清楚是哪儿的问题了。。。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-9-26 15:04:15
8#
Jes 发表于 2019-9-26 10:26
目前是 虽然 最终所用字体不确定 但是 全部用到的字体 就常见的五种(就是上面注册的五种) 按说应该不会 ...

您好,我分析了一下您的data数据,发现所有单元格的字体都是中文名称的“宋体”,

因此注册字体时需要单独针对“宋体”执行,参考以下两行代码:

  1. registerServerFont('宋体', 'normal', 'font/simsun.ttf');
  2. registerServerFont('宋体', 'bold', 'font/simsunbd.ttf');
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部