wubaogang 发表于 2024-12-17 16:34:57

打印到90mm*60mm标签纸上,如何设置大小


wubaogang 发表于 2024-12-17 16:36:37

使用Spread 设计的标签,打印出来应该是按照A4纸的大小打印的,如何固定为90mm*60mm大小,打印出来?

Richard.Ma 发表于 2024-12-17 18:15:52

1.需要设置PaperSize为你的实际纸张大小
https://www.grapecity.com.cn/docs/Spread/SP15WinFormGuide/FarPoint.Win.Spread~FarPoint.Win.Spread.PrintInfo~PaperSize.html

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

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

你可以把你的文件发上来,我帮你看看

wubaogang 发表于 2024-12-17 19:07:57

以下是代码部分,帮忙看一下,谢谢
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;

wubaogang 发表于 2024-12-18 18:50:33

本帖最后由 Richard.Ma 于 2024-12-20 22:45 编辑

Richard.Ma 发表于 2024-12-17 18:15
1.需要设置PaperSize为你的实际纸张大小
https://www.grapecity.com.cn/docs/Spread/SP15WinFormGuide/Far ...
上面标签PaperSize设置是90mm*60mm,下图设置100mm*67mm。
下图基本上满足样式要求,但是二维码最右侧太靠边,这种样式该如何调整?
我尝试调整设计时中间列的宽,打印出来效果还是一样,在打印时如何把列宽固定为设计时的列宽或按比例缩放?

Richard.Ma 发表于 2024-12-19 12:08:13

本帖最后由 Richard.Ma 于 2024-12-20 22:45 编辑

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


wubaogang 发表于 2024-12-20 17:31:30

Richard.Ma 发表于 2024-12-19 12:08
列宽本身就是固定的,并不会自动调整,你发的模板和打印出的列宽完全不一样,肯定是通过其他的代码做了auto ...

请帮忙把变迁图片删除,谢谢

Richard.Ma 发表于 2024-12-20 22:44:31

好的,已经删除
页: [1]
查看完整版本: 打印到90mm*60mm标签纸上,如何设置大小