从C#中打印标签-文档大小超过了打印机的限制。

4
我正在开发一个需要打印标签的应用程序。我使用的标签打印机是Brother QL-570。标签宽度为66毫米,标签长度需要大约45毫米。我遇到的问题是无法配置应用程序来打印标签。每次我尝试打印标签时,都会收到警告,指出文档大小对于该打印机来说太大了。无论我尝试将PrintDocument大小更改为什么大小,我始终会收到警告,指出文档大小是90mm x 29mm,对于标签打印机来说太大了。
以下是我的一次尝试:
private PrintDocument label;


label = new PrintDocument();
PaperSize pS = new PaperSize("Custom Size", 212, 67);
label.DefaultPageSettings.PaperSize = pS;
label.PrinterSettings.PrinterName = "Brother QL-570";
label.PrinterSettings.DefaultPageSettings.PaperSize = pS;
label.PrintPage += new PrintPageEventHandler(label_PrintPage);

private void label_PrintPage(object sender, PrintPageEventArgs e)
{

    SolidBrush brush = new SolidBrush(Color.Black);
    Font header = new Font(FontFamily.GenericSansSerif, 12.0F, FontStyle.Bold);

    e.Graphics.DrawString("Hello World", header, brush, 30, 30);

}

有没有人知道我哪里出了问题?我认为我可能错误地设置了文档和打印机的纸张大小。 我已经尝试了许多其他纸张大小,但都没有成功。

谢谢您的任何帮助。


打印机对自定义纸张大小可能会有些不稳定。您尝试过设置纸张大小,这样您就可以使用驱动程序选择的默认大小了吗?根据需要配置驱动程序以选择该大小。 - Hans Passant
谢谢您的回复,汉斯。我也尝试过了,但由于文档太大,它仍然无法打印。 - slickboy
提供能够编译的代码会很有帮助。new PaperSize("自定义尺寸", 212, 67); - Peter Ritchie
那么,在打印机首选项中,您选择了哪种纸张大小? - Hans Passant
抱歉,Peter。那是一个打字错误。即使编译,它仍然无法工作。 - slickboy
显示剩余3条评论
2个回答

5

问题不是编程问题,而是打印机配置问题。默认情况下,打印机配置为使用与我使用的不同的纸张尺寸。感谢您的所有帮助。


2

谢谢。你的评论帮助我解决了类似的问题。看起来这些Brother标签打印机简单地忽略了PageSettings属性...一旦你让它正常工作,尝试在其中放入一些疯狂的值。完全被忽视-太疯狂了!设置足够大的打印区域并确保你在正确的矩形内绘制,你就会没问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接