如何使用GeckoFX从c#访问PrintSettings

时间:2014-07-11 06:02:04

标签: c# geckofx

根据这个link 我需要 查询nsIWebBrowserPrint的Web浏览器对象。 调用提供打印设置对象的nsIWebBrowserPrint :: Print()方法 (例如,从nsIWebBrowserPrint :: GetGlobalPrintSettings返回的那些)

然而:

nsIWebBrowserPrint prt = myBrowser as Gecko.nsIWebBrowserPrint;

返回0

,同时:

nsIWebBrowserPrint ip = Xpcom.GetInterface<nsIWebBrowserPrint>(myBrowser);

抛出异常(值不能为null)

使用Geckofx 29和xulrunner 29

TIA

1 个答案:

答案 0 :(得分:3)

使用

var print = Xpcom.QueryInterface<nsIWebBrowserPrint>(_browser.Window.DomWindow);

如果它对您有帮助,您可以通过以下方式获取打印设置:

var service = Xpcom.GetService<nsIPrintSettingsService>("@mozilla.org/gfx/printsettings-service;1");
var printSettings = service.GetNewPrintSettingsAttribute();