Printing Google Chrome扩展:以静默方式打印页面

Printing Google Chrome扩展:以静默方式打印页面,printing,google-chrome-extension,npapi,Printing,Google Chrome Extension,Npapi,我正在开发一个内部GoogleChrome扩展,它需要一种启动将当前页面打印到打印机的方法。我不希望出现默认的打印对话框(因此,javascript:window.Print()是不可能的) 据我所知,仅使用JS+HTML插件是不可能的,因此我也愿意使用NPAPI插件(使用虚拟mime类型)。我只关心Windows平台 如果可能的话,我也愿意接受各种各样的破解/解决方案,尽管有一个标准的解决方案会更好 如果您认为这是不可能的,请告诉我您是否知道为其记录了任何功能请求 欢迎提出任何建议/澄清 有各

我正在开发一个内部GoogleChrome扩展,它需要一种启动将当前页面打印到打印机的方法。我不希望出现默认的打印对话框(因此,javascript:window.Print()是不可能的)

据我所知,仅使用JS+HTML插件是不可能的,因此我也愿意使用NPAPI插件(使用虚拟mime类型)。我只关心Windows平台

如果可能的话,我也愿意接受各种各样的破解/解决方案,尽管有一个标准的解决方案会更好

如果您认为这是不可能的,请告诉我您是否知道为其记录了任何功能请求


欢迎提出任何建议/澄清

有各种各样的扩展可以拍摄当前网页的快照(例如,);您可以通过NAPAPI插件将图像发送到打印机。

< P>因为NPAPI允许您创建通过对象标记(可以从扩展中使用)与本机交互的C++插件,这可能是实现的方法。
棘手的一点是,我不知道有什么好方法可以获得打印页面所需的信息。据我所知,唯一一个做过类似工作的人实际上得到了浏览器的窗口句柄(可通过NPAPI获得),并从中刮去了一些东西以这种方式打印,但这不会考虑打印样式表或其他内容。您也可以尝试使用自动化事件来控制打印对话框,但我不知道这是否有效

通过设计,浏览器尽量不让你做这样的事情,因为如果任何网站在没有确认的情况下就开始向你的打印机打印东西,它可能会打开一些严重的漏洞

无论如何,如果你找到了一个用C++来做的方法,你就可以用来轻松地创建NPAPI插件。在Chrome(V18+)中,

< P> >我们有<代码>亭-KIOSK打印< /Cord>开关。可以自动打印到默认打印机,无需打印确认


你可以从这段视频中看到它

我最近一直在寻找类似的功能,似乎使用Chrome新的本机消息api是完全可能的

在C#中有很多这样的例子,但这里有一个简单的例子,用一个基本的C#应用程序对Chrome本机消息进行故障排除


我意识到这可能是晚了一天,少了一美元,但如果其他人遇到这个问题,这就是对我有效的解决方案。从C#应用程序内部,您可以使用
PrintDocument
类直接打印到已安装的打印机。如果您找到了获取页面图像的方法,这将比使用firebreath或NPAPI容易得多

在不使用屏幕截图的情况下,您是否知道/想到了其他方法?另外,你能给我提供关于如何在Windows上“将图像发送到打印机”的信息/链接吗?我没有说任何关于屏幕截图的内容;去看看我链接的插件。它实际上是将页面(包括滚动出视图的部分)呈现为图像,而不需要截图;这与Chrome扩展和NPAPI完全相切。“棘手的是,我不知道有什么好方法可以获得打印页面所需的位。”这些选项会在中提供吗chrome://flags 也?或者它们只是命令行?Chrome不适合我们的标签打印机。如果IE有一个类似的开关那就太好了!视频不可用您是否完成了扩展?这正是我想要的……不,我无法为无声打印做任何事情(