请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Ljg

金牌服务用户

8

主题

14

帖子

50

积分

金牌服务用户

积分
50
Ljg
金牌服务用户   /  发表于:2024-11-21 13:45  /   查看:97  /  回复:5
gcexcel ssjson转pdf 文字被覆盖

ef66317aae68e16b493a580cca70b42.png584579467.png

5 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-21 14:21:11
沙发
本帖最后由 Lynn.Dou 于 2024-11-21 16:35 编辑

您好,
问题已复现,已记录下来进一步调研具体原因,待有进展贴中通知。(DOCXLS-11593)
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-22 11:01:24
板凳
更新进展:
首先从代码层,建议设置上语言以及setPixelBasedColumnWidth,示例代码如下:
  1. Locale.setDefault(Locale.CHINA);
  2.         WorkbookOptions workbookOptions = new WorkbookOptions();
  3.         // Enable pixel-based column width for the workbook
  4.         workbookOptions.setPixelBasedColumnWidth(true);
  5.         Workbook workbook = new Workbook(workbookOptions);
  6.         workbook.open("带数据.ssjson");
  7.         workbook.save("after3.pdf");
复制代码


在导出pdf时,GcExcel与SpreadJS实现的底层原理不同(SpreadJS使用的canvas绘制),所以在量字体宽度时存在了差异。
V7.2.0 新增的setPixelBasedColumnWidth 接口可以近似的解决部分差异问题,就此文件而言还不可行。
对比您前面提供的另一个文件,主要区别在于“检测报告”表第5行的行高不同。请问是否可以接受将”带数据“文件中的第5行行高调大 这个方案呢?

模板.ssjson
image.png798302001.png
带数据.ssjson
image.png781745605.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-28 15:19:39
地板
您好!请教下您的问题是否已得到解决,如若未然,需要您再详细介绍下新的进展。
回复 使用道具 举报
Ljg
金牌服务用户   /  发表于:2024-11-28 15:57:05
5#
报告数量比较多,模板做好了不能保证报告显示是不是好的,只能尝试,然后在调模板的行高,这样有点比较费时间,还请从根部解决这个问题
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-28 17:34:56
6#
根据您提供的信息,我理解可以尝试下这样操作:在读入模板并填充数据后,对新填充数据所在单元格自适应行高,然后保存ssjson文件。通过自适应行高对单元格设置足够显示完整内容的行高,您可以结合当前的解决方案亲测下,如果还存在问题,记得在本帖向我们反馈,我们继续跟进。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部