1 dump('Loading print.js\n');
4 //var w = window.open('about:blank','print_win','alwaysLowered,minimizable,resizable,height=100,width=100,sizemode=minimized');
5 var w = SafeWindowOpen('about:blank','print_win','alwaysLowered,minimizable,resizable,height=100,width=100,sizemode=minimized');
13 function sPrint_old(s) {
14 dump('Printing "' + s + '"\n');
15 //var deck = mw.document.getElementById('main_deck');
16 var iframe = mw.document.getElementById('print_frame');
17 //deck.appendChild(iframe);
18 iframe.setAttribute('src','about:blank');
19 /*while (iframe.contentWindow.document.lastChild) {
20 iframe.contentWindow.document.removeChild(
21 iframe.contentWindow.document.lastChild
24 //iframe.contentDocument.write(s);
25 iframe.contentWindow.document.write(s);
26 NSPrint2(iframe.contentWindow);
27 //deck.removeChild(iframe);
34 var webBrowserPrint = w
35 .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
36 .getInterface(Components.interfaces.nsIWebBrowserPrint);
37 if (webBrowserPrint) {
38 var gPrintSettings = GetPrintSettings();
39 gPrintSettings.printSilent = true;
40 webBrowserPrint.print(gPrintSettings, null);
41 gPrintSettings.marginTop = 0;
42 gPrintSettings.marginLeft = 0;
43 gPrintSettings.marginBottom = 0;
44 gPrintSettings.marginRight = 0;
45 gPrintSettings.headerStrLeft = '';
46 gPrintSettings.headerStrCenter = '';
47 gPrintSettings.headerStrRight = '';
48 gPrintSettings.footerStrLeft = '';
49 gPrintSettings.footerStrCenter = '';
50 gPrintSettings.footerStrRight = '';
51 //alert('Should be printing\n');
53 //alert('Should not be printing\n');
56 //alert('Probably not printing: ' + e);
57 // Pressing cancel is expressed as an NS_ERROR_ABORT return value,
58 // causing an exception to be thrown which we catch here.
59 // Unfortunately this will also consume helpful failures, so add a
60 dump('PRINT EXCEPTION: ' + js2JSON(e) + '\n'); // if you need to debug
64 function NSPrint2(w) {
67 var webBrowserPrint = w
68 .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
69 .getInterface(Components.interfaces.nsIWebBrowserPrint);
70 if (webBrowserPrint) {
71 webBrowserPrint.print(null, null);
72 //alert('Should be printing\n');
74 //alert('Should not be printing\n');
77 //alert('Probably not printing: ' + e);
78 // Pressing cancel is expressed as an NS_ERROR_ABORT return value,
79 // causing an exception to be thrown which we catch here.
80 // Unfortunately this will also consume helpful failures, so add a
81 dump('PRINT EXCEPTION: ' + js2JSON(e) + '\n'); // if you need to debug
86 var gPrintSettings = null;
88 function GetPrintSettings()
91 if (gPrintSettings == null) {
92 var pref = Components.classes["@mozilla.org/preferences-service;1"]
93 .getService(Components.interfaces.nsIPrefBranch);
95 gPrintSettingsAreGlobal = pref.getBoolPref("print.use_global_printsettings", false);
96 gSavePrintSettings = pref.getBoolPref("print.save_print_settings", false);
99 var printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"]
100 .getService(Components.interfaces.nsIPrintSettingsService);
101 if (gPrintSettingsAreGlobal) {
102 gPrintSettings = printService.globalPrintSettings;
103 setPrinterDefaultsForSelectedPrinter(printService);
105 gPrintSettings = printService.newPrintSettings;
109 dump("GetPrintSettings() "+e+"\n");
110 alert("GetPrintSettings() "+e+"\n");
113 return gPrintSettings;
116 function setPrinterDefaultsForSelectedPrinter(aPrintService)
118 if (gPrintSettings.printerName == "") {
119 gPrintSettings.printerName = aPrintService.defaultPrinterName;
122 // First get any defaults from the printer
123 aPrintService.initPrintSettingsFromPrinter(gPrintSettings.printerName, gPrintSettings);
125 // now augment them with any values from last time
126 aPrintService.initPrintSettingsFromPrefs(gPrintSettings, true, gPrintSettings.kInitSaveAll);