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

QQ登录

只需一步,快速开始

孙志强 讲师达人认证
金牌服务用户   /  发表于:2022-3-30 16:10  /   查看:2351  /  回复:7
1金币
本帖最后由 孙志强 于 2022-4-1 13:32 编辑

image.png962385559.png
设置上下左右的页面距,就不会出现分页问题
image.png76527709.png
只设置上左的页面距,就会出现分页问题
image.png638659667.png

1.想知道为什么会出现这样的区别
2.如果我就是只设置上左的页面距,并且不想分页,要怎么操作

demo-1.rar

1.65 MB, 下载次数: 71

demo-1(第一张pdf未分页).rar

1.65 MB, 下载次数: 80

最佳答案

查看完整内容

上面描述的“我试了别的表单,总行高同样没有超过打印纸质高度减去上下页间距,但它生成pdf就没有分页”是指新上传的demo吗?这边已收到,后续有调研结果会在本帖更新。 ———————————————————————————————————————— 造成分页是因为json中有margin,top和bottom分别为“78.7416”,大约为20.83mm。 如果不希望分页请参考下面的代码调整。

7 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 16:10:30
来自 8#
本帖最后由 Derrick.Jiao 于 2022-4-21 12:17 编辑
孙志强 发表于 2022-4-1 13:32
以补充未分页的demo,第一张pdf

上面描述的“我试了别的表单,总行高同样没有超过打印纸质高度减去上下页间距,但它生成pdf就没有分页”是指新上传的demo吗?这边已收到,后续有调研结果会在本帖更新。

————————————————————————————————————————
造成分页是因为json中有margin,top和bottom分别为“78.7416”,大约为20.83mm。
image.png138191222.png

如果不希望分页请参考下面的代码调整。
  1. workbook.getWorksheets().forEach((sheet)->{
  2.             // 左3上2右2下2cm
  3.             sheet.getPageSetup().setLeftMargin(transformMMPt(30));
  4.             sheet.getPageSetup().setTopMargin(transformMMPt(20));
  5.             adjustSheetForPDF(sheet);
  6.             sheet.getPageSetup().setIsPercentScale(false);
  7.             sheet.getPageSetup().setFitToPagesTall(1);
  8. });
复制代码


回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 17:56:17
2#
1、出现这种情况是因为只指定上和左,那么右和下就没有margin做“约束”,因此会超出当前的纸张范围。

2、如果想要只设置上左的话,可以考虑调整纸张大小,如A4Extra或者A4plus.另外,原始的json中还设置了居中,还需要将居中取消。
  1.   sheet.getPageSetup().setPaperSize(PaperSize.A4Plus);
  2.             sheet.getPageSetup().setCenterHorizontally(false);
  3.             sheet.getPageSetup().setCenterVertically(false);
复制代码


回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-4-1 10:24:50
3#
1648779614.png238979796.png
可以看到打印纸张高度height减去上下页间距还有差不多1011
1648779751(1).jpg39185179.png
而我计算的总行高才756.75,这样为什么生成pdf还会分页
回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-4-1 10:29:47
4#
Derrick.Jiao 发表于 2022-3-30 17:56
1、出现这种情况是因为只指定上和左,那么右和下就没有margin做“约束”,因此会超出当前的纸张范围。

2 ...

我计算了实际内容的高度,发现并没有超过页面能容纳高度,但还是分页了,截图可以看楼上
回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-4-1 10:39:22
5#
Derrick.Jiao 发表于 2022-3-30 17:56
1、出现这种情况是因为只指定上和左,那么右和下就没有margin做“约束”,因此会超出当前的纸张范围。

2 ...

我试了别的表单,总行高同样没有超过打印纸质高度减去上下页间距,但它生成pdf就没有分页
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-4-1 11:58:53
6#
孙志强 发表于 2022-4-1 10:39
我试了别的表单,总行高同样没有超过打印纸质高度减去上下页间距,但它生成pdf就没有分页

了解了,这边需要再调研一下,此贴先改为保留处理,有进展会在本帖更新(DOCXLS-5759)
回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-4-1 13:32:39
7#
Derrick.Jiao 发表于 2022-4-1 11:58
了解了,这边需要再调研一下,此贴先改为保留处理,有进展会在本帖更新(DOCXLS-5759)

以补充未分页的demo,第一张pdf
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部