[Zope-dev] Print a document !!

Itamar Shtull-Trauring itamars@ibm.net
Sun, 16 Apr 2000 12:21:22 +0300


Juan Javier Carrera Obrero wrote:

> Exists any way to print a document from ZOPE or trought JavaScript ?

The following code should work in Netscape 4.0, IE 4.0 (Windows), IE 5.0. 
It looks scary cause IE4.0 doesn't support window.print(), while using
VBScript will cause a download to start in IE5 if you haven't installed
VBScript.  Scary, isn't it?



function printPage() {
  if (pr) // NS4, IE5
    window.print()
  else if (da && !mac) // IE4 (Windows)
    vbPrintPage()
  else // other browsers
    alert("Sorry, your browser doesn't support this feature.");
  return false;
}

if (da && !pr && !mac) with (document) {
  writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0"
CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
  writeln('<' + 'SCRIPT LANGUAGE="VBScript">');
  writeln('Sub window_onunload');
  writeln('  On Error Resume Next');
  writeln('  Set WB = nothing');
  writeln('End Sub');
  writeln('Sub vbPrintPage');
  writeln('  OLECMDID_PRINT = 6');
  writeln('  OLECMDEXECOPT_DONTPROMPTUSER = 0');
  writeln('  OLECMDEXECOPT_PROMPTUSER = 1');
  writeln('  On Error Resume Next');
  writeln('  WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER');
  writeln('End Sub');
  writeln('<' + '/SCRIPT>');
}