如何在 Go 中打印?
How can I print in Go?
我正在开发一个使用 ESC-POS 命令在热敏打印机上打印的软件包,我已经生成了要打印的文件,但是要打印它我使用了 CMD 命令:print /D:\myPC\POS-58-Series printfile
我尝试使用:exec.Command("print", "/D:\myPC\POS-58-Series", "printfile").Run()
但没有成功
有没有办法像我正在尝试的那样使用命令从 Go 打印,或者我是否需要使用其他东西?
终于搞定了,稍微找了找mike42的escpos-php库
https://github.com/mike42/escpos-php
问题是它使用 php 而我在 go 中需要它,查看它的代码我发现它使用复制功能将带有 esc/pos 代码的文件发送到打印机,不幸的是,这并不是那么容易,但幸运的是我找到了 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
}
我正在开发一个使用 ESC-POS 命令在热敏打印机上打印的软件包,我已经生成了要打印的文件,但是要打印它我使用了 CMD 命令:print /D:\myPC\POS-58-Series printfile
我尝试使用:exec.Command("print", "/D:\myPC\POS-58-Series", "printfile").Run()
但没有成功
有没有办法像我正在尝试的那样使用命令从 Go 打印,或者我是否需要使用其他东西?
终于搞定了,稍微找了找mike42的escpos-php库
https://github.com/mike42/escpos-php
问题是它使用 php 而我在 go 中需要它,查看它的代码我发现它使用复制功能将带有 esc/pos 代码的文件发送到打印机,不幸的是,这并不是那么容易,但幸运的是我找到了 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
}