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

QQ登录

只需一步,快速开始

金牌服务用户

26

主题

93

帖子

243

积分

金牌服务用户

积分
243

金牌服务用户   /  发表于:2021-9-3 11:43  /   查看:1630  /  回复:7
在spreadjs中使用
  1. new GC.Spread.Sheets.Print.PaperSize(( GC.Spread.Sheets.Print.PaperKind.a4)
复制代码

获取页面宽高,并且严格按照这个高度生成页面,但是json传入到gcexcel中生成pdf时,还是会超高,一页变为两页
image.png404755248.png

7 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-6 09:44:34
推荐
浩 发表于 2021-9-3 18:32
我实际列宽是660,生成PDF应该是有1/4左右的空白,但是现在如果我设置所有的页边距全部为0的话,保留的空 ...

左边是没有设置margin导出pdf的结果,右边是仅设置了left:0的结果。两者的宽度留白是一致的,大约为1/5,有内容的区域占比在4/5。如果将margin全部设为0,就会进行一定比例的缩放。
image.png327683409.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-3 14:27:05
沙发
您好,前后端的导出pdf可能会存在一些误差,需要进行一些调整。麻烦您将您的表单上传,这边为您调研一下具体的调整方案。
回复 使用道具 举报

金牌服务用户   /  发表于:2021-9-3 14:46:16
板凳
Derrick.Jiao 发表于 2021-9-3 14:27
您好,前后端的导出pdf可能会存在一些误差,需要进行一些调整。麻烦您将您的表单上传,这边为您调研一下具 ...

这是生成的json

excel.json

231.41 KB, 阅读权限: 150, 下载次数: 4

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-3 17:02:37
地板
浩 发表于 2021-9-3 14:46
这是生成的json

您可以按照这个代码设置页面
  1. var printInfo = new GC.Spread.Sheets.Print.PrintInfo();
  2. printInfo.showRowHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);
  3. printInfo.showColumnHeader(GC.Spread.Sheets.Print.PrintVisibilityType.hide);
  4. printInfo.showBorder(false);
  5. printInfo.fitPagesTall(1);
  6. printInfo.centering(GC.Spread.Sheets.Print.PrintCentering.horizontal);
  7. sheet.printInfo(printInfo);
复制代码
这是导出的
image.png424212035.png

print.ssjson

227.22 KB, 下载次数: 34

回复 使用道具 举报

金牌服务用户   /  发表于:2021-9-3 17:41:16
5#
本帖最后由 浩 于 2021-9-3 17:44 编辑
Derrick.Jiao 发表于 2021-9-3 17:02
您可以按照这个代码设置页面
这是导出的
  1. printInfo.orientation(GC.Spread.Sheets.Print.PrintPageOrientation.portrait);//设置要打印的纸张方向。
  2.                 printInfo.paperSize(new GC.Spread.Sheets.Print.PaperSize().kind(GC.Spread.Sheets.Print.PaperKind.a4));//设置要打印的纸张尺寸。
复制代码
  1. margin = margin || { top: 0, bottom: 0, left: 0, right: 0, header: 0, footer: 0 };
  2. printInfo.margin(margin);//打印页边距,以百分之一英寸为单位。默认全部为0
复制代码


当添加了这两行代码后,设置纸张尺寸为A4则页面边距和计算不符合,所有列宽只使用了660,a4宽为826,设置了页边距之后,会自动缩放页面内容吗?
image.png954651184.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-3 18:13:16
6#
浩 发表于 2021-9-3 17:41
当添加了这两行代码后,设置纸张尺寸为A4则页面边距和计算不符合,所有列宽只使用了660,a4宽为826, ...

请问您的实际列宽是多少呢?如果实际列宽是660那么打印的列宽就是660
回复 使用道具 举报

金牌服务用户   /  发表于:2021-9-3 18:32:35
7#
Derrick.Jiao 发表于 2021-9-3 18:13
请问您的实际列宽是多少呢?如果实际列宽是660那么打印的列宽就是660

我实际列宽是660,生成PDF应该是有1/4左右的空白,但是现在如果我设置所有的页边距全部为0的话,保留的空白如图所示明显是不足1/4的,如果我不设置页边距为0,那么他会有一个默认的70多的一个页边距,这个时候明显会看到打印的区域要比设置为0的小很多
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部