AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi HTML als PDF ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

HTML als PDF ausgeben

Ein Thema von erich.wanker · begonnen am 10. Mär 2010 · letzter Beitrag vom 11. Jun 2010
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
461 Beiträge
 
Delphi XE4 Professional
 
#1

HTML als PDF ausgeben

  Alt 10. Mär 2010, 14:29
Hallo Leute,

ein Gerät mit embeeded Linux/ApacheWebserver wird ausgelesen und die Werte als "Bericht[x].jpg" abgespeichert.
Funktioniert so weit einigermaßen. Schöner wäre natürlich, wenn der Bericht als PDF abgespeichert wird.
Nur - wie könnte ich das machen?

Vielen Dank
Erich Wanker

IST-Situation:

Ich lade einen HTML Text von einer Quelle in ein Memo via:
Delphi-Quellcode:
  idClient := TIdHTTP.Create(Application);
  msData := TMemoryStream.Create;
  try
    idClient.Get('http://'+edit1.Text+'/goto.htm?Satz='+inttostr(nummerl)+'', msData);
    msData.Seek(0, soFromBeginning);
    Memo1.Lines.LoadFromStream(msData);
    
  finally
    idClient.Free;
    msData.Free;
  end;
anschließend bereinige ich den Text und laden ihn in einen Webbrowser via:
Delphi-Quellcode:
      bereinigen := Memo1.Text;
      bereinigen := Stringreplace(bereinigen,'window.print();','',[rfReplaceAll]);
      bereinigen := Stringreplace(bereinigen,'</head>','</head> <font face="Arial">',[rfReplaceAll]);
      Memo1.Text := bereinigen;

      LoadHTMLToWebbrowser(WebBrowser1,memo1.lines);
      webbrowser1.Refresh;

Anschließend mach ich einen Screenshot und speichere den ab via:
P.S.: da die Berichte immer gleich lang sind, hab ich die Größe des Webbrowser händisch passend gemacht und den Webbrowser.visible:=false geschaltet .. Schrecklicher Work-around
WebBrowserScreenShot(WebBrowser1,exepfad+'Bericht['+inttostr(nummerl)+'].jpg');
Codeschnipsel betreffend "Screenshot":
Delphi-Quellcode:
procedure TForm1.WebBrowserScreenShot(const wb: TWebBrowser; const fileName: TFileName) ;
var
  viewObject : IViewObject;
  r : TRect;
  bitmap : TBitmap;
begin
  if wb.Document <> nil then
  begin
    wb.Document.QueryInterface(IViewObject, viewObject) ;
    if Assigned(viewObject) then
    try
      bitmap := TBitmap.Create;
      try
        r := Rect(0,0, wb.Width,wb.Height) ;

        bitmap.Width := wb.Width-GetSystemMetrics(SM_CXVSCROLL);
        bitmap.Height := wb.Height-GetSystemMetrics(SM_CYHSCROLL);

        viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0) ;

        with TJPEGImage.Create do
        try
          Assign(bitmap) ;
          SaveToFile(fileName) ;
        finally
          Free;
        end;
      finally
        bitmap.Free;
      end;
    finally
      viewObject._Release;
    end;
  end;
end;

Benutze Delphi7
LMD-Tools
ZEOS-Lib
Reportbuilder9
Firebird 2.1
MadTools
...
Erich Wanker - for life:=1971 to lebensende do begin ..
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: HTML als PDF ausgeben

  Alt 10. Mär 2010, 14:35
Hallo,

hast du die damals erwähnten Tools angesehen? Das gleiche Thema hast du hier schon einmal gestellt.
Es gibt natürlich auch diverse Report-Komponenten, meist jedoch kostenpflichtig: Fast Report, Rave Reports, Reportbuilder, List & Label

Grüße, Matze
  Mit Zitat antworten Zitat
exilant

Registriert seit: 28. Jul 2006
134 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: HTML als PDF ausgeben

  Alt 10. Mär 2010, 14:36
Zitat von erich.wanker:
Hallo Leute,


.... Schöner wäre natürlich, wenn der Bericht als PDF abgespeichert wird.

PDF Drucker installieren (edocPrintPro),
Per Explorer-Automation die Webseite öffnen und auf dem PDF Drucker ausgeben. Das sollte sehr simpel zu realisieren sein.
Anything, carried to the extreme, becomes insanity. (Exilant)
  Mit Zitat antworten Zitat
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
461 Beiträge
 
Delphi XE4 Professional
 
#4

Re: HTML als PDF ausgeben

  Alt 10. Mär 2010, 15:20
Zitat von Matze:
...Das gleiche Thema hast du hier schon einmal gestellt.
Es gibt natürlich auch diverse Report-Komponenten, meist jedoch kostenpflichtig: Fast Report, Rave Reports, Reportbuilder, List & Label
Hallo Matze,

leider haben diverse Versuche nix brauchbares gebracht..
Probleme mit VPE und Win7 64 bit
Probleme mit GhostScript und meinen Fähigkeiten
Probleme mit PowerPDF und Windows7
...


aber du schreibst grad Reportbuilder....
ich besitze den Report Builder Professional Edition von Metaphors in der Version 9.01 ???
Erich Wanker - for life:=1971 to lebensende do begin ..
  Mit Zitat antworten Zitat
erdbeere225

Registriert seit: 13. Jul 2006
6 Beiträge
 
#5

AW: HTML als PDF ausgeben

  Alt 11. Jun 2010, 18:24
http://www.est.hi-ho.ne.jp/takeshi_kanno/powerpdf/
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
427 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Re: HTML als PDF ausgeben

  Alt 11. Jun 2010, 19:48
aber du schreibst grad Reportbuilder....
ich besitze den Report Builder Professional Edition von Metaphors in der Version 9.01 ???
Kann sein, daß das erst ab der 10er standardmäßig dabei ist. Aber ansonsten kannst Du Dir mit den Gnostice Tools helfen.


Grüße,
Uli
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: HTML als PDF ausgeben

  Alt 11. Jun 2010, 22:11
Wenn Du eine halbwegs neue Version von Microsoft Office oder von Open Office hast, müsstest Du Dir das HTML Dokument in der Textverarbeitung laden und als PDF abspeichern können.
Für Microsoft ist ein PDF-Addon nötig, das Du gratis von der Microsoft Homepage herunterladen kannst, Open Office hat automatisch die PDF Unterastützung integriert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz