可以从Firefox add-on SDK打印吗?我浏览了插件SDK的在线文档,但似乎找不到任何关于这方面的内容。
我想要做的是从网页(存储在Javascript变量中的PDF文件)中检索一些数据,然后使用该文件打开系统打印机对话框。
这可以做到吗?
发布于 2011-12-16 22:41:54
Add-on SDK没有任何内置的打印功能。当然,您可以使用chrome authority做很多事情,例如,给定一个浏览器窗口,您可以获取当前打开窗口的nsIWebBrowserPrint interface并将其打印出来:
var browserPrint = browserWnd.gBrowser
.contentWindow
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebBrowserPrint);
browserPrint.print(null, listener);但问题仍然是,你需要在浏览器中打开一个网页才能打印出来。然而,浏览器不会打开PDF文件,这是由插件完成的-并且只有(浏览器没有访问权限的)插件可以打印它。您可以看看pdf.js的发展方向,但它仍处于早期开发阶段。
page-worker package看起来像是将页面加载到隐藏窗口以便可以打印的一种显而易见的方法。唯一的问题是-要访问nsIWebBrowserPrint,您需要从附加组件访问页面的window对象(而不是内容脚本,因为它没有必要的权限)。
https://stackoverflow.com/questions/8535425
复制相似问题