是否可以从Firefox附加SDK打印?我浏览了附加SDK在线文档,但似乎无法找到任何相关内容。
我想要做的是从网页(存储在Javascript变量中的PDF文件)中检索一些数据,然后用该文件打开系统打印机对话框。
可以这样做吗?
答案 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
对象(不内容脚本,它没有必要的权限)。