【发布时间】:2012-04-08 07:24:24
【问题描述】:
我使用this device 打印条形码,但打印机不会停止打印,在我关闭它之前给我空标签。我找到了this question,但指定纸张大小对我没有帮助。
我使用的代码:
PrintDocument document = new PrintDocument();
document.DefaultPageSettings.PaperSize =
new PaperSize("Custom", Centimeters(7), Centimeters(5));
document.PrintPage += (s, a) =>
{
a.Graphics.DrawString("*123456*",
BarcodeFont,
new SolidBrush(Color.Black),
new Point(0, 0));
}
document.Print();
厘米法:
// Converts the unit "Hundredths of an inch" to centimeter.
int Centimeters(int centimeters)
{
return (int)((centimeters * 100) / 2.54);
}
它将条形码正确打印到第一个标签,但不会停止。标签为 7x5 厘米。我根据这个设置了纸张大小,我不知道我还能做什么。
编辑:将 HasMorePages 设置为 false 没有帮助,我知道这不是因为我使用的设备:我目前使用其他一些程序来打印条形码,它们都可以工作。
【问题讨论】:
-
使用调试器。在 PrintPage lambda 代码和 Print() 调用上设置断点。 Print() 调用断点多次命中的可能性很大。查看调用堆栈以了解这是如何发生的。
-
@Hans,不,它只命中一次。
-
您要更换打印纸吗? (大多数)热敏打印机需要重新校准才能注意到标签尺寸发生了变化。 (sManual_English.pdf p27)
-
这个问题已经 8 年了......但我迫切需要知道这个问题的解决方案......希望 Safak 看到这条消息......
-
对不起@EHOng,这是我的第一份工作,我已经到了一个我什至不记得早餐吃了什么的年龄。 :) 我也没有那个时代的任何备份可以参考。关于那个应用程序,我唯一记得的是我们实际上已经发布了它,并且打印正常(我知道这没有多大帮助 - 再次抱歉没有及时更新)。