怎么用 js 调用系统的打印机?

2016 年 2 月 1 日
 displayabc

想在网页里直接调用打印功能,不是使用浏览器的打印功能,比如使用 js 调用某个系统服务,系统服务去调用打印

9974 次点击
所在节点    问与答
17 条回复
kfll
2016 年 2 月 1 日
你需要一个全系列 IE 漏洞或 ActiveX + ppapi plugin + npapi plugin
(大概
FrankFang128
2016 年 2 月 1 日
浏览器里的 JS 还能脱离浏览器?
warlock
2016 年 2 月 1 日
很早以前用的 applet
jugelizi
2016 年 2 月 1 日
https://v2ex.ih06.com/t/254625#reply7

javascript 真的和 java 没任何关系

js 在浏览器里能做的真的很少
mkeith
2016 年 2 月 1 日
系统服务做成 http server
ljbha007
2016 年 2 月 1 日
或者学习百度 本地开个允许跨域的 http 服务器 然后调用服务器接口获取本地功能
displayabc
2016 年 2 月 1 日
@jugelizi 我当然知道 js 跟 java 没有关系,是已经离职的同事做的一个打印功能,用 c#做调用的打印机,页面上用 js 调用的 c#的,但是不知道怎么调用的 c#这块,据说是注册到注册表,弄成了服务
jugelizi
2016 年 2 月 1 日
@haython 你这个自己用还是给客户用?
cyberdak
2016 年 2 月 1 日
lodop
displayabc
2016 年 2 月 1 日
@jugelizi 自己用
displayabc
2016 年 2 月 1 日
@cyberdak 这个已经在用了,有些地方不好使
gamexg
2016 年 2 月 1 日
写成浏览器插件会有浏览器兼容性问题。

最简单的办法是 C# 写一个 http 服务器(固定到一个端口), js ajax 调用(传递需要打印的 url ,可能需要带 cookie)。
pein
2016 年 2 月 1 日
js 的话估计只有 websocket 全双工通信,这样服务器可以直接给浏览器发打印信号,结合 lodop 就可以实现 js 打印。
我最近做的一个项目,是网页外面套一个 C#的壳,实时监听是否有需要打印的数据,用户在网页产生操作后,后端语言向那个壳发送 socket 消息,然后壳接收到消息就打印出来。
ipconfiger
2016 年 2 月 1 日
js 只能通过浏览器
xxdd
2016 年 2 月 1 日
作为 JS 调用过打印机的来说几句:

1.需要封装成插件 , 打包成 cab 包。里面包含 ocx dll 文件

2.IE 浏览器安全性需要调低。

3.JS 里面用 Object 对象引入 cab 包
NemoAlex
2016 年 2 月 1 日
https://github.com/tojocky/node-printer
封装成 nw.js 的应用程序
gkiwi
2016 年 3 月 21 日
之前打印餐馆小票用的这个: http://www.lodop.net/
不过需要安装一个他家的驱动,这个避免不了~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/254766

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX