Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: TWebbrowser, PDF und Drucken

  Alt 13. Jan 2005, 08:30
Zitat von Wathlon:
Lösung gefunden!
Leider funktioniert diese Lösung bei mir nicht.
doc = nil -> nix passiert
Welche Acrobat Reader Version bzw. welche IE Version verwendest Du ?

Diese Lösung gibt zwar S_OK zurück, aber es gibt keinen DruckDialog, und es druckt auch nicht.

Delphi-Quellcode:
// Quelltext aus Delphi-Source Tipps Sammlung
// [url]http://www.dsdt.info/tipps/?id=171[/url]
// Keine Autoren angegeben
procedure PrintWebBrowser(WB: TWebBrowser);
var
  OleCommandTarget: IOleCommandTarget;
  Command: TOleCmd;
  Success: HResult;
begin
  if not Assigned(WB) then
    Exit;
  if not Assigned(WB.Document) then
    Exit;

  // Referenz auf IOleCommandTarget besorgen
  WB.Document.QueryInterface(IOleCommandTarget, OleCommandTarget);

  // Prüfen, ob Drucken momentan erlaubt
  Command.cmdID:= OLECMDID_PRINT;

  if OleCommandTarget.QueryStatus(Nil, 1, @Command, Nil) <> S_OK then
  begin
    ShowMessage('Drucken nicht möglich');
    Exit;
  end;
  if (Command.cmdf and OLECMDF_ENABLED) <> 0 then
  begin
    // Drucken ausführen
    Success:= OleCommandTarget.Exec(Nil, OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, EmptyParam, EmptyParam);
    case Success of
      S_OK: ; // Alles OK
      OLECMDERR_E_CANCELED: ShowMessage('Abbruch durch User');
    else ShowMessage('Fehler!!!');
    end;
  end
  else
  begin
    // Drucken momentan nicht erlaubt
    ShowMessage('Drucken nicht möglich');
    Exit;
  end;
end;
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat