【问题标题】:Print on a Dot Matrix printer using X & Y Coordinates使用 X 和 Y 坐标在点阵打印机上打印
【发布时间】:2012-06-07 16:08:22
【问题描述】:

我需要在点阵打印机上以基本模式打印账单。我知道点阵打印机页面可以分成一个字符矩阵,我只是想要一些关于如何在 X&Y 坐标上打印的帮助。是这样的,

Printer.CurrentX = 1584;
Printer.CurrentY = 3168;
Printer.Print "PARTICULARS";

有没有人有关于如何做到这一点的样本或一些小想法会帮助我。 谢谢,..

【问题讨论】:

标签: c# .net printing


【解决方案1】:

Printer.CurrentXPrinter.CurrentY 来自 VB6 时代,它们以缇为单位设置您放置文本的坐标,但在您使用 Printer.EndDoc 方法之前不会打印。 Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6 Namespace 中有一个 .Net 版本,它是为转换后的 VB6 程序提供的。您可以将 NameSpace 添加到您的程序中并使用相同的功能,但最好使用 PrintDocument's Print 方法。因为无论如何它们都将以页面模式打印(我的意思是您设置数据并在打印时将整个页面发送到打印机)。

【讨论】:

    【解决方案2】:

    点阵打印机不能这样工作。点阵是在纸上打印的方式,不是用来指定输出的矩阵。

    要打印页面,您通常从上到下逐行打印。您无需为文本指定坐标,只需简化输出空格和换行即可到达正确的字符位置。

    (您可以将控制字符发送到打印机以向后进纸,但大量来回进纸只是要求卡纸。)

    【讨论】:

    • 是的,我明白了。但是,我们是否需要添加对 dll 的引用以及如何使用代码向打印机发送控制字符??
    • Subs 链接到的第二个问题的答案显示了如何打开到打印机的流。可以使用WriteLine 发送换行符。其他控制字符只是简单地写入流,例如换页:stream.Write((char)12)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 2018-02-23
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多