动爸 发表于 2024-1-3 18:13:24

SpreadJS中的背景图在GcExcel转PDF的显示不正确

本帖最后由 Ellia.Duan 于 2024-1-30 11:51 编辑

产品:GcExcel
版本:V6.2.5
问题编号:DOCXLS-9585
该问题已经在V7.0.2中得到修复,可以通过升级版本来解决该问题
在SpreadJS中
sheet.getCell(1,1).backgroundImage("xxxx.png");
sheet.getCell(1,1).backgroundImageLayout(GC.Spread.Sheets.ImageLayout.center);

但是使用GcExcel转PDF后显示的却是不一样。
现在我测试发现的是
sheet.getCell(1,1).backgroundImageLayout(GC.Spread.Sheets.ImageLayout.none); // 值= 3
的时候,gcexcel转成的PDF是跟前端的显示 一致。

你们确认一下,是不是GcExcel与SpreadJS两个值对应反了。

================
center• center = 1背景图像显示在区域的中心none• none = 3背景图像以其原始大小显示在区域的左上角stretch• stretch = 0背景图像填充该区域zoom• zoom = 2背景图像以其原始高宽比显示在区域中

Ellia.Duan 发表于 2024-1-4 09:37:59

您好,在SpreadJS v16.2.6版本中为B2单元格设置背景图片,并设置图片居中,

如下图所示:


将其导出为PDF,结果如下:

然后将其导出为json文件,在GcExcel V6.2.5版本中导入json文件,
并将其导出为PDF文件,代码如下:
      Workbook workbook = new Workbook();
      workbook.open("E:\\download\\jsonTest (2).ssjson");
      IWorksheet worksheet = workbook.getActiveSheet();
      worksheet.getPageSetup().setPrintGridlines(true);
      workbook.save("E:\\download\\jsonTest.pdf");最后GcExcel导出的PDF结果如下:


从中看出,图片都是居中显示,未能复现您的问题。
附件上传了SpreadJS的测试demo和java代码,您可以根据附件,写入可以复现您问题的相关代码,上传上来,帮您看下此问题。

动爸 发表于 2024-1-4 16:26:33

Ellia.Duan 发表于 2024-1-4 09:37
您好,在SpreadJS v16.2.6版本中为B2单元格设置背景图片,并设置图片居中,

如下图所示:





请分别使用我提供的2个ssjson在前端用spreadjs查看,然后通过gcexcel生成pdf就知道了。
gcexcel后台代码:
workbook.fromJson(new FileInputStream(jsonPath));
                workbook.save(pdfPath,SaveFileFormat.Pdf);










layout0的结果


layout3的结果

Ellia.Duan 发表于 2024-1-4 17:55:35

本帖最后由 Ellia.Duan 于 2024-1-5 12:19 编辑

您好,您的问题已复现,猜测可能是合并单元格导致的问题,我们将深入调研下您的问题,待有进展,会及时联系您。
问题编号:DOCXLS-9585

Ellia.Duan 发表于 2024-1-9 10:24:46

您好,此问题将在v7.0.2版本修复,修复后,在GcExcel中导入ssjson文件,然后导出的PDF将与在SpreadJS中导出的PDF文件保持一致。

动爸 发表于 2024-1-18 15:13:29

Ellia.Duan 发表于 2024-1-9 10:24
您好,此问题将在v7.0.2版本修复,修复后,在GcExcel中导入ssjson文件,然后导出的PDF将与在SpreadJS中导出 ...

问一下,V7.0.2大概什么时候上线呢?

Ellia.Duan 发表于 2024-1-18 16:22:43

您好,预计明晚maven更新,您可以下周看看。v7版本的具体发布在今年的3月初。
页: [1]
查看完整版本: SpreadJS中的背景图在GcExcel转PDF的显示不正确