0

我正在做这个有很多打印工作的 xul 离线应用程序。无论如何从 xul print 中获取进度/听众,说它是完整的?我现在被这个问题困扰了一段时间,请分享一些关于如何继续的想法。打印代码如下。

.xul 文件

<iframe type="content-primary" flex="1" src="index.html"  />

打印功能

function getWebBrowserPrint()
{
return _content.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebBrowserPrint);
}

function printpdf() {
var webBrowserPrint= getWebBrowserPrint();
var gPrintSettings = webBrowserPrint.globalPrintSettings;

gPrintSettings.footerStrLeft = "";
gPrintSettings.footerStrCenter = "";
gPrintSettings.footerStrRight = "";
gPrintSettings.headerStrLeft = "";
gPrintSettings.headerStrCenter = "";
gPrintSettings.headerStrRight = "";
gPrintSettings.printSilent = true;
gPrintSettings.showPrintProgress = true;
gPrintSettings.printerName = "PDF Writer";
webBrowserPrint.print(gPrintSettings, null);
}
4

1 回答 1

0

第二个参数webBrowserPrint.print可以是nsIWebProgressListener对象。特别是,您将收到一个onStateChange带有标志的回调,包括STATE_STOP打印完成的时间。

于 2011-02-19T00:23:08.780 回答