Qt:打印原始文本
我需要在Qt应用程序中将ZPL脚本输出到Zebra打印机。
打印机位于客户端计算机中配置为原始打印机的smb共享网络上。
如果我从C ++测试程序中调用
cupsPrintFile( "printer_name", "./tmp_print_file.zpl", "", 0, NULL )
,一切都会好起来的。
如果我使用.1ѭ使用“./tmp_print_file.zpl”中的相同文本作为文档,则不会打印任何内容。
我嗅到网络,发现发送到打印机服务器的数据不是原始数据,但是,后记!
有没有办法将数据发送到打印机而不进行任何修改?
让我明确一点,我不想渲染文本,只是将准备打印的标签脚本直接发送到了解ZPL协议的打印机。
谢谢大家。
编辑:
正如@Martin所说,我试过:
printer.setOutputFormat( QPrinter::NativeFormat );
QTextDocument *doc = new QTextDocument( QString( label ), this );
doc->print( &printer );
但它不起作用。
没有找到相关结果
已邀请:
4 个回复
篮肥炼皖
)。 将内容发送到文件。 拨打你的
方法。 或者,CUPS API可能有一种绕过临时文件的方法。免责声明:我对CUPS API完全没有经验;这只是粗略地看一些在线文档。看起来可能是以下顺序: cupsCreateJob> cupsStartDocument> cupsWriteRequestData> cupsFinishDocument 如果可行,您只需要将
转换为正确的字节编码。
戊袱
或者直到QPrinter的位可以给出解决方案,但这需要花费太多时间。 最终的解决方案是在我的Qt应用程序中使用CUPs API。不幸的是,它不便携。 这是一个片段:
它已经完成了。 不要忘记链接libcups(
)。 我仍然希望任何一个伙伴添加另一个解决方案,证明Qt-only是可能的。同时,这就足够了。 谢谢大家。
委婪绷冗诉
痰降锭骂奸