Ljg 发表于 2024-11-21 13:45:42

ssjson生成pdf文字被覆盖

gcexcel ssjson转pdf 文字被覆盖


Lynn.Dou 发表于 2024-11-21 14:21:11

本帖最后由 Lynn.Dou 于 2024-11-21 16:35 编辑

您好,
问题已复现,已记录下来进一步调研具体原因,待有进展贴中通知。(DOCXLS-11593)

Lynn.Dou 发表于 2024-11-22 11:01:24

更新进展:
首先从代码层,建议设置上语言以及setPixelBasedColumnWidth,示例代码如下:
Locale.setDefault(Locale.CHINA);
      WorkbookOptions workbookOptions = new WorkbookOptions();
      // Enable pixel-based column width for the workbook
      workbookOptions.setPixelBasedColumnWidth(true);
      Workbook workbook = new Workbook(workbookOptions);
      workbook.open("带数据.ssjson");
      workbook.save("after3.pdf");

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

模板.ssjson

带数据.ssjson

Wilson.Zhang 发表于 2024-11-28 15:19:39

您好!请教下您的问题是否已得到解决,如若未然,需要您再详细介绍下新的进展。

Ljg 发表于 2024-11-28 15:57:05

报告数量比较多,模板做好了不能保证报告显示是不是好的,只能尝试,然后在调模板的行高,这样有点比较费时间,还请从根部解决这个问题

Wilson.Zhang 发表于 2024-11-28 17:34:56

根据您提供的信息,我理解可以尝试下这样操作:在读入模板并填充数据后,对新填充数据所在单元格自适应行高,然后保存ssjson文件。通过自适应行高对单元格设置足够显示完整内容的行高,您可以结合当前的解决方案亲测下,如果还存在问题,记得在本帖向我们反馈,我们继续跟进。
页: [1]
查看完整版本: ssjson生成pdf文字被覆盖