【问题标题】:Add a printer to LPT port and send file to it in C#将打印机添加到 LPT 端口并在 C# 中向其发送文件
【发布时间】:2018-06-28 08:50:13
【问题描述】:

我有一个命令 shell 脚本,它在 LPT 端口(打印机本身通过 USB 连接)上安装打印机(如果重要的话,它是 Zebra 打印机)并向它发送一个触发实际打印的文件。然后打印机从端口移除

net use lpt1: \\MyComputer\MyPrinter
copy D:\Test\Printout.epl lpt1
net use lpt1: /delete

如何使用 C# 代码做同样的事情?

【问题讨论】:

  • 最简单:Process.Start() 用于第一行和第三行,File.Copy() 用于第二行。
  • 请不要只要求我们为您解决问题。向我们展示如何尝试自己解决问题,然后向我们确切地展示结果是什么,并告诉我们您为什么觉得它不起作用。请参阅“What Have You Tried?”了解您真正需要阅读的优秀文章。
  • 这需要pinvoke。您至少需要 WNetAddConnection2() 和 WNetCancelConnection()。该副本应该是有问题的,因为.NET 通常会拒绝设备名称,所以我预计 File.Copy() 会失败。 Pinvoke CopyFile()。使用 .cmd 文件肯定是较轻的痛点,但错误检查会很痛苦。您可能真正想要做的不是使用文件,而是使用this code。向供应商寻求帮助是合理的,您不是第一个尝试使用 Zebra 打印机的 C# 程序员。

标签: c# printing zebra-printers


【解决方案1】:
private static void PrintFile(string path) {
string strCmdText = "/c copy " + path + " LPT1";
Process.Start("CMD.exe", strCmdText); }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    相关资源
    最近更新 更多