【问题标题】:Can't stop printing [closed]无法停止打印[关闭]
【发布时间】: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,这是我的第一份工作,我已经到了一个我什至不记得早餐吃了什么的年龄。 :) 我也没有那个时代的任何备份可以参考。关于那个应用程序,我唯一记得的是我们实际上已经发布了它,并且打印正常(我知道这没有多大帮助 - 再次抱歉没有及时更新)。

标签: c# printing barcode


【解决方案1】:

eventArgsHasMorePages属性设置为false:

document.PrintPage += (s, a) =>
{
    a.Graphics.DrawString("*123456*",
                          BarcodeFont,
                          new SolidBrush(Color.Black),
                          new Point(0, 0));
    a.HasMorePages = false;
}

【讨论】:

  • 感谢您的回答,但没有奏效。在我关闭电源开关之前它仍然会继续。
  • 已经是假的了,不是这个原因。
猜你喜欢
  • 1970-01-01
  • 2021-08-08
  • 1970-01-01
  • 2019-11-30
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多