提问人:AzulShiva 提问时间:11/10/2023 更新时间:11/10/2023 访问量:29
通过代码进行热敏打印:最大长度被截断
Thermal printing via code: max length gets truncated
问:
我正在通过代码在热敏打印机上打印收据。收据的长度总是被截断到几乎正好 30 厘米。RectangleF 的宽度设置为 300(大约相当于 8 厘米),因此他只打印了大约 1200 个单位的高度。我可以将高度降低到1200以下,这进一步截断了30cm以下的收据长度,但他打印的长度不超过30cm。通过记事本或Word打印时,可以一次性打印无端的仪表。
private void print(string printString)
{
PCPrint printer = new PCPrint();
printer.TextToPrint = printString;
printer.Print();
}
public class PCPrint : System.Drawing.Printing.PrintDocument
{
string printText;
RectangleF printArea = new RectangleF(0, 0, 300, 10000);
public string TextToPrint
{
get { return printText; }
set { printText = value; }
}
protected override void OnPrintPage(PrintPageEventArgs e)
{
e.Graphics.DrawString(printText, new Font("Verdana", 8), Brushes.Black, printArea);
}
}
答:
1赞
Bart McEndree
11/10/2023
#1
我读到: 通常,创建 PrintDocument 类的实例,设置 DocumentName 和 PrinterSettings 等属性,然后调用 Print 方法以启动打印过程。使用 PrintPageEventArgs 的 GraphicsGraphics 属性处理指定要打印的输出的 PrintPage 事件。
也许检查 PrinterSettings 中是否有限制页面大小的值。
评论