如何使用javascript/jquery通过调用使用.bat文件自动打印

如何使用javascript/jquery通过调用使用.bat文件自动打印,javascript,jquery,windows,batch-file,printing,Javascript,Jquery,Windows,Batch File,Printing,我有一个web应用程序,它有打印功能。它只需使用点阵打印机打印一些与HTML对齐的内容。但在web应用程序中,它以图形模式打印,因为这种打印速度非常慢。所以我试着用这个解决方案。我的打印方法如下: var data=[].slice.call($("#printdiv").find("table tr")).map(function(row){ return row.textContent.trim().replace(/\n/g,"\t");

我有一个web应用程序,它有打印功能。它只需使用点阵打印机打印一些与HTML对齐的内容。但在web应用程序中,它以图形模式打印,因为这种打印速度非常慢。所以我试着用这个解决方案。我的打印方法如下:

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));
notepad /p %1
我的
print.bat
如下所示:

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));
notepad /p %1
当我点击“打印”按钮时,它只需下载一个文件,然后需要用print.bat文件打开它就可以打印了,它可以完美地工作

我如何实现自动化。我的意思是,单击打印功能时,我想调用print.bat文件,需要将内容或记事本文件传递到bat文件,并且应该可以在无需手动干预的情况下工作

我试图使用ActiveXObject调用.bat文件,但它在任何地方都不起作用(甚至在IE中也不起作用)


如何使用javascript/jquery从浏览器自动调用.bat文件并自动打印?

对于windows,您可以使用自定义批处理文件提供的自定义MIME处理程序应用程序对纯文本执行此操作

  • 创建一个新的
    print.bat
    文件,其中包含
    @notepad/p%1
  • 使用类似于下载文本以使用自定义mime打印的工具:
    download(“Hello World”、“temp.prn”、“x-application/print”)
  • 在Chrome中,右键单击下载栏中的下载,然后选择“始终打开此类型的文件”
  • 重复步骤2,触发文件打开应用程序选择对话框
  • 选中“将此应用程序用于所有.prn文件”,然后手动浏览到您的bat文件并选择它。可能在“更多选项”、“查找其他应用程序…”下
  • 你应该听到打印机预热和打印的声音
  • Firefox的方向与此类似,您基本上只需要将bat文件与自定义MIME相关联(在本例中,我选择“x-application/print”,但任何未使用的非文本文件都可以使用)。然后,您可以使用下载程序(或手动
    )-确保使用上面的print.bat文件打开

    我使用这个技巧,根据PHPCMS中存储的数据自动打印了1000个媒体标签,没有明显的导出路径,对我们来说效果很好

    我不认为你能用图形或其他非文本的东西做到这一点


    最后,您可以在记事本的配置中编辑打印标题,并且应该记住您的定制,以便更好地自动打印任意文本。

    由于安全原因,您不能使用javascript调用.bat文件,您可能需要服务器端语言needs@madalinivascu请检查我的问题并检查上面的链接。如果您有其他方法来解决这个问题,那么它会更有用。为什么不使用默认的ctrl+p?@@madalin ivascu buddy我使用的是点阵打印机。在web浏览器中,它以图形模式打印,所以打印机打印速度非常慢。我想以文本模式打印,就像从记事本打印一样。这里主要考虑的是速度。我跳你明白了。你说的图形模式是什么意思?我已经把
    下载(“Hello World”,“temp.prn”,“x-application/print”)
    内部按钮单击方法,但我得到错误,因为
    未捕获引用错误:下载未定义
    帮助我Buddy是否可能创建小提琴?是的,您需要将上面链接的download.js文件添加到您的页面,然后它应该可以工作。添加了实时演示链接…使用Chrome和windows 8测试是否有任何选项可以自动执行此操作我的意思是不下载?我的意思是我们可以直接传递到批处理文件吗?在当前的场景中,客户端需要一个批处理文件来打印。它下载到临时文件夹,windows将最终清除该文件夹。如果您有批处理文件,它应该是100%自动的,每个作业都不需要人工干预。我已经打印了1000个文本文档你需要批处理文件,没有办法。如果你在自动化方面有任何困难,请告诉我,我会看看是否能帮上忙。