.net 通过代码进行热敏打印:最大长度被截断

gcuhipw9  于 12个月前  发布在  .NET
关注(0)|答案(1)|浏览(134)

我正在通过代码在热敏打印机上打印收据。收据的长度总是被截断为几乎正好30厘米。矩形F的宽度设置为300(这对应于大约8厘米),所以他只打印了大约1200单位的高度。我可以将高度降低到1200以下,这进一步截断了收据的长度低于30厘米,但他打印的长度不超过30厘米,用记事本或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);
    }
}

字符串

yjghlzjz

yjghlzjz1#

https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printdocument?view=dotnet-plat-ext-7.0
我读到:通常,您可以创建PrintDocument类的示例,设置DocumentName和PrinterSettings等属性,然后调用Print方法以启动打印过程。通过使用PrintPageEventArgs的GraphicsGraphics属性,处理指定要打印的输出的PrintPage事件。
也许检查PrinterSettings中限制页面大小的值。

相关问题