学习Golang要努力,但是不要急!今天的这篇文章《如何在 Go 中打印?》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!
问题内容我正在开发一个使用 ESC-POS 命令在热敏打印机上打印的包,我已经生成了要打印的文件,但要打印它,我使用 CMD 命令:print /D:\\myPC\\POS-58 -系列打印文件
我尝试使用:exec.Command("print", "/D:\\myPC\\POS-58-Series", "printfile").Run()
但它不起作用
有没有一种方法可以使用我正在尝试执行的命令从 Go 进行打印,或者我需要使用其他东西吗?
正确答案
终于我做到了,查了一下发现了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
}
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。