Imprimir documento/página em um WebBrowser

 

Veja como imprimir um documento/página em um WebBrowser e ainda como chamar a tela de configuração de impressora, a tela de configuração de página e a tela de pré-visualização da impressão.

 

Nota: primeiramente você precisa carregar uma página em um WebBrowser, por exemplo (se possui um componente chamado WebBrowser1):

 

WebBrowser1.Navigate('http://www.clubedelphi.net')

 

{ Imprime diretamente, sem a tela de impressão }

procedure WBPrintNoDialog(WB: TWebBrowser) ;

var

  vIn, vOut: OleVariant;

begin

  WB.ControlInterface.ExecWB(OLECMDID_PRINT,

    OLECMDEXECOPT_DONTPROMPTUSER, vIn, vOut);

end;

 

{ Abre a tela de impressão }

procedure WBPrintWithDialog(WB: TWebBrowser) ;

var

  vIn, vOut: OleVariant;

begin

  WB.ControlInterface.ExecWB(OLECMDID_PRINT,

    OLECMDEXECOPT_PROMPTUSER, vIn, vOut) ;

end;

 

{ Pré-visualização da impressão }

procedure WBPrintPreview(WB: TWebBrowser) ;

var

  vIn, vOut: OleVariant;

begin

  WB.ControlInterface.ExecWB(OLECMDID_PRINTPREVIEW,

    OLECMDEXECOPT_DONTPROMPTUSER, vIn, vOut) ;

end;

 

{ Abre a tela de configuração da página }

procedure WBPrintPageSetup(WB: TWebBrowser) ;

var

  vIn, vOut: OleVariant;

begin

  WB.ControlInterface.ExecWB(OLECMDID_PAGESETUP,

    OLECMDEXECOPT_PROMPTUSER, vIn, vOut) ;

end;