找回密码
 立即注册

QQ登录

只需一步,快速开始

wubaogang

注册会员

1

主题

5

帖子

12

积分

注册会员

积分
12
  • 54

    金币

  • 1

    主题

  • 5

    帖子

最新发帖
wubaogang
注册会员   /  发表于:2024-12-17 16:34  /   查看:46  /  回复:7
1金币

7 个回复

倒序浏览
wubaogang
注册会员   /  发表于:6 天前
沙发
使用Spread 设计的标签,打印出来应该是按照A4纸的大小打印的,如何固定为90mm*60mm大小,打印出来?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:6 天前
板凳
1.需要设置PaperSize为你的实际纸张大小
https://www.grapecity.com.cn/doc ... Info~PaperSize.html

2.通过打印预览来判断是否能在这张纸上完整的打印而不会分页,据此调整行列宽高

3.还可以配合ZoomFactor或者BestFitCols 等设置来实现想要的效果

你可以把你的文件发上来,我帮你看看
回复 使用道具 举报
wubaogang
注册会员   /  发表于:6 天前
地板
以下是代码部分,帮忙看一下,谢谢
PaperSize ps = new PaperSize("Custom Size 1", CMToPX(900, 0), CMToPX(600, 1));

var rules = new SmartPrintRulesCollection();
rules.Add(new SmartPaperRule(ResetOption.None));
rules.Add(new BestFitColumnRule(ResetOption.None));
rules.Add(new ScaleRule(ResetOption.None, 1, 0.1f, 0.1f));

PrintInfo printInfo = new PrintInfo();
//printInfo.ZoomFactor = 2;
printInfo.SmartPrintRules = rules;
printInfo.SmartPrintPagesTall = 1;
printInfo.SmartPrintPagesWide = 1;
printInfo.UseSmartPrint = true;
printInfo.PaperSize = ps;

printInfo.ShowColumnHeader = FarPoint.Win.Spread.PrintHeader.Hide;
printInfo.ShowRowHeader = FarPoint.Win.Spread.PrintHeader.Hide;
printInfo.ShowBorder = false;

20241217.zip

16.98 KB, 下载次数: 1

回复 使用道具 举报
wubaogang
注册会员   /  发表于:5 天前
5#
本帖最后由 Richard.Ma 于 2024-12-20 22:45 编辑

上面标签PaperSize设置是90mm*60mm,下图设置100mm*67mm。
下图基本上满足样式要求,但是二维码最右侧太靠边,这种样式该如何调整?
我尝试调整设计时中间列的宽,打印出来效果还是一样,在打印时如何把列宽固定为设计时的列宽或按比例缩放?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:4 天前
6#
本帖最后由 Richard.Ma 于 2024-12-20 22:45 编辑

列宽本身就是固定的,并不会自动调整,你发的模板和打印出的列宽完全不一样,肯定是通过其他的代码做了autofit。我建议你可以给一个demo来复现你最终打印的结果,我帮你看看原因


回复 使用道具 举报
wubaogang
注册会员   /  发表于:3 天前
7#
Richard.Ma 发表于 2024-12-19 12:08
列宽本身就是固定的,并不会自动调整,你发的模板和打印出的列宽完全不一样,肯定是通过其他的代码做了auto ...

请帮忙把变迁图片删除,谢谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:3 天前
8#
好的,已经删除
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部