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

QQ登录

只需一步,快速开始

miyazhong

注册会员

20

主题

45

帖子

157

积分

注册会员

积分
157
miyazhong
注册会员   /  发表于:2022-4-6 11:21  /   查看:1985  /  回复:3
本帖最后由 miyazhong 于 2022-4-6 12:07 编辑

你好,遇到这样一个问题:
一段文字“Interest income from a fellow subsidiary”, 放在一个单元格中(非合并的单元格,宽度为263),可以在一行中完整显示;
但是如果在该单元格之前插入一列,并保存 新插入的列宽 + 原本的单元格列宽 = 263,并合并单元格,发现subsidiary单词无法展示,如果再追加一个s字母,就能够自动换行。

问题:

以上问题出现的单词无法展示的情况是setcolumnwidth还是addspan会引起一个像素的查询,还是合并的单元格和单纯的一个单元格的宽度是不完全一致的?还是其他问题?(由于有很多业务处理逻辑,提供一个可复现且简单的逻辑,有点困难,请谅解),请看截图:
IMG_9646.jpeg

3 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-6 12:16:03
沙发

您好,
根据您描述的步骤,使用官网组件版表格编辑器测试如下动图所示:
从动图以及下图可以看到,在合并单元格之后,对于 ”Interest income from a fellow subsidiary“ 这段文字,
单元格是可以完整显示的,并且仍有空余,所以未能复现您描述的问题。
image.png963594055.png
单元格中文字所占据单元格的宽度,会受字体以及字号的影响,从您问题的描述中未能获取这一信息。
综上,建议您直接提供一个可复现的demo,如动图所示操作,在demo中体现您反馈的问题,这样才能尽快的复现和调研。
附件为demo模板,您可以在模板中添加自己的代码,需要能复现此问题。

11.gif

demo-sjs模板.html

2.44 KB, 下载次数: 87

回复 使用道具 举报
miyazhong
注册会员   /  发表于:2022-4-7 17:38:08
板凳
Lynn.Dou 发表于 2022-4-6 12:16
您好,
根据您描述的步骤,使用官网组件版表格编辑器测试如下动图所示:
从动图以及下图可以看到,在合 ...

研究了下,发现是fitpageswide(1)之后,被压缩了。
如果不使用fitpagesWide, 在计算orientation为portrait的时候,计算的宽度不能在一页中展示。
margin: top: 40, bottom: 40, left:20, right:20, header:5, footer:5

在计算的内容部分是用pageWidth = pagerSize.width() - left - right, 发现会有两页内容 - 每一列的宽度是根据pageWidth来手动分配的。
也就是说pageWidth比实际pdf中的宽度要多,导致了换页。

问下这个宽度的获取,在不使用fitpageswide的情况下,如果才能不换页?
目前的这种写法有什么地方需要修改下?
IMG_9649 2.jpeg
IMG_9648.jpeg
IMG_9650.jpeg
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-7 18:06:44
地板
当实际表单宽度超出打印纸张的宽度时,就会自动换页在下一页进行显示。
如果您的需求,您是想将表单内容在一页进行显示,可以结合以下方案综合测试下:
1、设置margin的left right为0,减少margin对表单显示的影响。
2、不使用fitpageswide方法,而是使用zoomFactor方法对表单进行整体缩放。
示例代码:
printInfo.zoomFactor(2);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部