go - 如何在 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代码的文件发送到打印机,不幸的是在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
}
推荐阅读
- javascript - 运行我现有的 iOS 反应原生项目时出错
- java - PostMapping 无法识别 RequestBody
- react-native - 如何启动 React Native Headless JS?
- swagger - 在 OpenAPI 规范中描述参数时使用 content vs schema 关键字的场景是什么
- neo4j - 查找属性与条件不匹配的所有节点
- angular - RXJS Groupby on Observable / Array
- c# - 添加 iis 绑定时未选择 SSL 证书
- node.js - 在 Node.js 中使用 fluent-ffmpeg 将 HEVC/H.265 视频转换为更广泛支持的格式
- javascript - 如何在 ReScript 中使用 JavaScript Material Design 库?
- sql - Oracle - Match_recognize // 形状检测