找回密码
 立即注册

QQ登录

只需一步,快速开始

大Vi

高级会员

160

主题

356

帖子

1126

积分

高级会员

积分
1126
大Vi
高级会员   /  发表于:2024-11-7 17:00  /   查看:256  /  回复:3
3金币
需求:导出的pdf文件中要加水印,水印要求是(姓名+学号),并且要平铺重复满整个页面。
由于导出pdf自带加水印功能必须是图片,无法自定义设置文字内容,因此被建议使用div生成图片,然后以背景图片的方式平铺到表格内,现在的问题是:
  1. spread.options.backgroundImage = pic
  2.             spread.options.backgroundImageLayout = GC.Spread.Sheets.ImageLayout.none
  3.             setTimeout(() => {
  4.                 document.getElementById("vp_vp")!.style.backgroundRepeat = "repeat"
  5.             }, 10)
复制代码

1、背景图片能在插件中显示,但是只要导出到pdf背景就是空白的,是不支持吗?
2、使用自带水印方法设置可以导出,但是怎么做到重复平铺呢?一个个写坐标我也不知道长宽啊
  1. printInfo.watermark([
  2.         {x: 0, y: 200, width: 400, height: 200, imageSrc: pic, page: "all"},
  3.         {x: 400, y: 400, width: 400, height: 200, imageSrc: pic, page: "all"},
  4.         {x: 800, y: 600, width: 400, height: 200, imageSrc: pic, page: "all"}
  5.     ])
复制代码


最佳答案

查看完整内容

您好! 问题1:您使用的设置方式通过style标签实现装饰DOM元素,在导出时不支持携带,导出时可以携带的水印仍然是通过PrintInfo:watermark()设置的水印。 问题2:可以尝试下将水印制作成与打印区域相同大小的图片,在图片中完成水印内容的平铺展示。PrintInfo:paperSize()可以获取或设置打印的纸张尺寸。 请参考官网API文档了解详情: https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Print. ...

3 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-11-7 17:00:24
来自 2#
您好!

问题1:您使用的设置方式通过style标签实现装饰DOM元素,在导出时不支持携带,导出时可以携带的水印仍然是通过PrintInfo:watermark()设置的水印。

问题2:可以尝试下将水印制作成与打印区域相同大小的图片,在图片中完成水印内容的平铺展示。PrintInfo:paperSize()可以获取或设置打印的纸张尺寸。

请参考官网API文档了解详情:
https://demo.grapecity.com.cn/sp ... PrintInfo#papersize
回复 使用道具 举报
大Vi
高级会员   /  发表于:2024-11-8 17:36:41
3#
本帖最后由 大Vi 于 2024-11-8 17:38 编辑
Wilson.Zhang 发表于 2024-11-8 12:28
您好!

问题1:您使用的设置方式通过style标签实现装饰DOM元素,在导出时不支持携带,导出时可以携带的 ...

是这样吗?
  1. printInfo.paperSize().width()
复制代码
,它和printInfo.paperSize().getPageSize(GC.Spread.Sheets.Print.PaperKind.a4)是什么区别啊?数值有一些些区别,难道默认的纸张尺寸不是a4?

printInfo.paperSize()打印出来时这样的:可读性 不是很好呢
image.png746155395.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-8 17:54:49
4#
大Vi 发表于 2024-11-8 17:36
是这样吗?,它和printInfo.paperSize().getPageSize(GC.Spread.Sheets.Print.PaperKind.a4)是什么区别啊 ...

默认应该是信纸,如下图所示:
1731059591383.png326928099.png

PaperSize对象可以通过如下图所示的接口获取高和宽:
1731059659272.png343424071.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部