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

QQ登录

只需一步,快速开始

孙志强 讲师达人认证
金牌服务用户   /  发表于:2022-10-21 14:47  /   查看:3186  /  回复:8
页面上表单显示


PDF打印效果


具体原因是:打印pdf时,签章是居中显示的,而页面展示时,签章被上移了

我想实现的效果,当图片签章位于最后时,可以将其位置上移,不在居中显示,从而避免生成pdf时分页

我遇到的问题,我无法判断图片签章是否位于最后

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

8 个回复

Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-21 18:40:38
沙发
下图所示的ssjson在哪里?

附件中提供的ssjson,没找到对应能够显示成上述效果的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-10-22 09:55:32
板凳
Clark.Pan 发表于 2022-10-21 18:40
下图所示的ssjson在哪里?

附件中提供的ssjson,没找到对应能够显示成上述效果的。

就是那个ssjson,没有别的了,你这边显示的是什么效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-22 15:32:55
地板
你也截图也能看到页面上并没有章子,那么下面这张图的章子是怎么在SpreadJS上显示的,按照正常的思路要么直接传一个盖好章子的ssjson,要么给一个没盖章的ssjson,前端渲染后在进行盖章操作。但是你的demo中既没有盖好章子的ssjson,又没有前端盖章的逻辑。我们需要这个进行对比分析。所以要让你提供上述素材

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-10-22 15:54:14
5#
Clark.Pan 发表于 2022-10-22 15:32
你也截图也能看到页面上并没有章子,那么下面这张图的章子是怎么在SpreadJS上显示的,按照正常的思路要么直 ...

这个章子在上面提供的demo工程里面有,你可以运行下,导出pdf就可以看到
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-24 09:52:18
6#
您还没明白我的意思,我的意思是您demo中的ssjson并不能重现上面我截图所示的效果,您demo中的ssjson在前端SpreadJS打开的效果如下

仍然是超出打印范围的,与您所说的页面上表单显示的效果差异很大,现在就想要您提供您上面说的页面上表单显示效果对应的ssjson,便于我们调查其中原因。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-10-24 14:42:43
7#
Clark.Pan 发表于 2022-10-24 09:52
您还没明白我的意思,我的意思是您demo中的ssjson并不能重现上面我截图所示的效果,您demo中的ssjson在前端 ...

这个是前端用代码调整了,他们用spreadjs的官方api获取了最后一行,然后计算图片有没有超出整体高度,做了调整

但我用GcExecl的getRowCount()获取到的并不是显示出来的最后一行,而是包括了隐藏行在内的,这样计算出来的整体高度就不对了,请问有什么办法吗
回复 使用道具 举报
孙志强讲师达人认证
金牌服务用户   /  发表于:2022-10-24 17:03:07
8#
已解决,用下面api获得了可见区域的整体高度,然后再上调了图片的位置
  1. PrintManager printManager = new PrintManager();
  2. IRange printArea = printManager.getPrintAreas(sheet).get(0);
  3. printArea.getHeightInPixel();
复制代码


回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-24 17:35:12
9#

用getRowCount肯定是不行的,因为导出PDF和打印一样是需要获取页面的实际信息的。
正解就是通过getPrintAreas获取实际打印的页面信息。获取到里面的高度宽度。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部