Imprimir el documento
Artículo por Club Developers · 13 marzo 2006
2470 vistas
Para imprimir un documento con Internet Explorer 4 o superior tendremos que usar la propiedad ControlInterface para acceder a la interfaz del componente WebBrowser (esta interfaz permite a un controlador Automation acceder a propiedades, métodos y eventos del navegador Web).
En el ejemplo, la impresión del documento completo se enviará sin que aparezca el cuadro de diálogo de impresión. Para mostrar el cuadro de diálogo tendremos que reemplazar OLECMDEXECOPT_DONTPROMPTUSER por OLECMDEXECOPT_PROMPTUSER
Con Internet Explorer 3 tendremos que usar el siguiente método
Nota: si usamos Delphi 2 o 3 tendremos que reemplazar PGuid(nil) por PGuid(nil)^
En el ejemplo, la impresión del documento completo se enviará sin que aparezca el cuadro de diálogo de impresión. Para mostrar el cuadro de diálogo tendremos que reemplazar OLECMDEXECOPT_DONTPROMPTUSER por OLECMDEXECOPT_PROMPTUSER
delphi
var vaIn, vaOut: OleVariant; begin MyWebBrowser.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut); end;
Con Internet Explorer 3 tendremos que usar el siguiente método
delphi
procedure PrintIE; var CmdTarget : IOleCommandTarget; vaIn, vaOut: OleVariant; begin if MyWebBrowser.Document <> nil then try MyWebBrowser.Document.QueryInterface(IOleCommandTarget, CmdTarget); if CmdTarget <> nil then try CmdTarget.Exec( PGuid(nil), OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut); finally CmdTarget.Release; end; except { nada } end; end;
Nota: si usamos Delphi 2 o 3 tendremos que reemplazar PGuid(nil) por PGuid(nil)^