go - 如何用golang打印?

标签 go printing

我想用 go 在打印机上打印,但打印机只打印奇怪的字符......我不知道该如何解决。

如果我打印字符串,它可以工作;如果我尝试在外部软件上打印 pdf,它也可以工作,但只会失败。

我用的是“github.com/jadefox10200/goprint”

printerHandle, err := goprint.GoOpenPrinter("CUSTOM K80")   
if err != nil {log("Failed to open printer")}
defer goprint.GoClosePrinter(printerHandle)

err = goprint.GoPrint(printerHandle, "hello.pdf")
if err != nil { log("during the func sendToPrinter, there was an error") }

结果:

> %PDF-1.3 3 0 obj <</Type /Page /Parent 1 0 R /Resources 2 0 R
> /Contents 4 0 R>> endobj 4 0 obj <</Filter /FlateDecode /Length 215>>
> stream
> x�ϿJ4A�|�����?�󅇻��A���Ό��!�p>��bf�IS�*Ɠcl�))���}_��p^Fj�z��ϥ��Ҧ���,�K�c�^221�fs�F��r�5������a9ن�x9/\5+���α��$�פ��P+�iU�}-��a�}��J,�($ӑ-B�$�
> ��C:ُ���e ��?�[�c�;^oxk�dfs�  ���qN^ endstream endobj 1 0 obj
> <</Type /Pages /Kids [3 0 R ] /Count 1 /MediaBox [0 0 175.75 255.12]
> endobj 5 0 obj <</Type /Font /BaseFont /Helvetica-Bold /Subtype /Type1
> /Encoding /WinAnsiEncoding
> >> endobj 6 0 obj <</Type /Font /BaseFont /Helvetica /Subtype /Type1 /Encoding /WinAnsiEncoding
> >> endobj 2 0 obj << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] /Font << /Ff5d2de5f3a71699ae4b2d83179e62d09e6fc4126 5 0 R
> /F0a76705d18e0494dd24cb573e53aa0a8c710ec99 6 0 R
> >> /XObject <<
> >> /ColorSpace <<
> >>
> >> endobj 7 0 obj << /Producer (FPDF 1.7) /Title (�� T e s t   P D F) /CreationDate (D:20190722103543)
> >> endobj 8 0 obj << /Type /Catalog /Pages 1 0 R
> >> endobj xref 0 9 0000000000 65535 f 0000000372 00000 n 0000000656 00000 n 0000000009 00000 n 0000000087 00000 n 0000000459 00000 n
> 0000000560 00000 n 0000000866 00000 n 0000000969 00000 n trailer <<
> /Size 9 /Root 8 0 R /Info 7 0 R
> >> startxref 1018 %%EOF

最佳答案

可能需要检查的地方

  • jadefox goprint 包可能不会执行光栅化,或者至少不会为您的“CUSTOM K80”打印机执行光栅化。因此,它可能会将原始文件内容传递给打印机以进行栅格化。

  • 您的打印机内部可能不支持 PDF。许多中端和高端激光打印机都可以。便宜的打印机通常不会。不解析 PDF 的打印机可能会将接收到的数据视为纯 ASCII 文本。

关于go - 如何用golang打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57142208/

相关文章:

java - 防止两个线程程序中的死锁

go - 如何将 Unicode 字符更改为简单形式?

go - 通用 slice 参数和限制为 slice 类型的参数有什么区别?

java - 我需要打印一个等于该单词中字符数的单词

c++ - 输出函数 C++ 的问题

java - 递归问题 - 我不明白为什么我得到反向输出

macos - Cocoa Emacs 打印缓冲区

go - 为什么这个 go 例程在关闭阻塞读取连接时随机无法退出?

go - 如何导入同一个 go 模块的两个版本?

c - 集成到静态库中的可重定位列表