我有网络应用程序,它有一个打印功能。它只是使用点矩阵打印机打印一些HTML对齐的内容。但在Web应用程序中,它以图形模式打印,因为此打印非常慢。所以我使用link尝试了解决方案。我的打印方法如下:
var data=[].slice.call($("#printdiv").find("table tr")).map(function(row){
return row.textContent.trim().replace(/\n/g,"\t");
}).join("\n");
window.open("data:application/print;," + escape(data));
我的print.bat
如下:
notepad /p %1
当我点击打印按钮时,它只需下载一个文件,然后需要打开print.bat文件进行打印,效果非常好。
我该如何自动化。我的意思是在点击打印功能时我想调用print.bat文件,并且需要将内容或记事本文件传递给bat文件,并且无需人工干预即可工作。
我尝试使用ActiveXObject调用.bat文件,但它无法在任何地方工作(甚至不在IE中工作)。
如何使用javascript / jquery自动从浏览器调用.bat文件并自动打印?
答案 0 :(得分:1)
对于Windows,您可以使用自定义MIME处理程序应用程序对纯文本执行此操作,该应用程序由自定义批处理文件提供。
print.bat
。@notepad /p %1
文件
download("Hello World", "temp.prn", "x-application/print");
Firefox方向类似,你基本上只需要将bat文件与自定义MIME相关联(在本例中我选择“x-application / print”,但任何未使用的非文本应该可以工作)。然后,您可以使用下载程序(或手动<a download>
链接将字符串作为文本传递给打印机。
现场演示:http://pagedemos.com/kwk9wzpq46j3/1 - 请务必使用上面的print.bat文件打开。
我已经使用这个技巧根据存储在PHP CMS中的数据自动打印1,000个媒体标签,没有明显的导出路径,并且它对我们很有用。
我认为你不能用图形或其他类似非文字的东西来做这件事。
最后,您可以在记事本的配置中编辑打印标题,并且应该记住您的自定义,以便更好地自动打印任意文本。