我正在开发一个使用ESC-POS命令在热敏打印机上打印的软件包,我已经生成了要打印的文件,但要打印它,我使用CMD命令:print /D:\\myPC\\POS-58-Series printfile
我尝试使用:exec.Command("print", "/D:\\myPC\\POS-58-Series", "printfile").Run()
,但它不起作用
有没有一种方法可以像我正在尝试做的那样使用Go命令打印,或者我需要使用其他命令?
发布于 2021-04-02 09:08:33
最后我做了一下,我找到了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
}
发布于 2021-04-01 08:29:55
取决于您是否需要格式化输出...但您可能希望查看https://github.com/alexbrainman/printer,看看这是否解决了您的打印问题。
https://stackoverflow.com/questions/66896837
复制相似问题