【问题标题】:How can I print in Go?如何在 Go 中打印?
【发布时间】:2021-06-27 23:57:57
【问题描述】:

我正在使用 ESC-POS 命令在热敏打印机上打印一个包,我已经生成了要打印的文件,但要打印它,我使用 CMD 命令:print /D:\\myPC\\POS-58-Series printfile

我尝试使用:exec.Command("print", "/D:\\myPC\\POS-58-Series", "printfile").Run(),但没有成功

有没有办法从 Go 中使用我正在尝试执行的命令进行打印,或者我是否需要使用其他命令?

【问题讨论】:

标签: go printing thermal-printer escpos


【解决方案1】:

终于搞定了,找了一下找到了mike42的escpos-php库。

https://github.com/mike42/escpos-php

问题是它使用php,我在go中需要它,查看它的代码我发现它使用复制功能将带有esc / pos代码的文件发送到打印机,不幸的是在go中它并不容易,但幸运的是我找到了 php2golang 页面,在那里我找到了一种方法。

https://www.php2golang.com/method/function.copy.html

所以,我的最终代码是

func main () {
    Copy ("printfile", "\\\\myPC\\\\POS-58-Series")
}

func Copy (source, dest string) (bool, error) {
    fd1, err: = os.Open (source)
    if err! = nil {
        return false, err
    }

    defer fd1.Close ()
    fd2, err: = os.OpenFile (dest, os.O_WRONLY | os.O_CREATE, 0644)
    if err! = nil {
        return false, err
    }

    defer fd2.Close ()
    _, e: = io.Copy (fd2, fd1)
    if e! = nil {
        return false, e
     }
    return true, nil
}

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2014-06-05
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多