从Firefox附加SDK打印?

时间:2011-12-16 14:15:30

标签: firefox printing firefox-addon add-on

是否可以从Firefox附加SDK打印?我浏览了附加SDK在线文档,但似乎无法找到任何相关内容。

我想要做的是从网页(存储在Javascript变量中的PDF文件)中检索一些数据,然后用该文件打开系统打印机对话框。

可以这样做吗?

1 个答案:

答案 0 :(得分:1)

附加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对象(内容脚本,它没有必要的权限)。