HTML-Template laden, füllen, drucken

Anfängerfragen zum Programmieren mit PureBasic.
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

HTML-Template laden, füllen, drucken

Beitrag von gnaps »

Hallo Forum,

ich habe eine Verwaltung geschrieben, GUI, SQL alles perfekt,
nur das drucken bekomme ich nicht hin.

mit Drawtext usw. habe ich zu wenige Möglichkeiten.
auf Canvas zeichnen und BitBlt_ habe ich eine schlecht Druckauflösung.

was nun ?

Mein Vorhaben zum Drucken

- HTML-Template einladen (wird extern erstellt und bereitgestellt, dadurch auch verschiedene Layouts möglich))
- mit Daten füllen (aus der Datenbank)
- als HTML Tempdatei speichern
- HTML-Temp-Datei in Webgadget einladen (als Vorschau)
- HTML-Datei drucken (wenn nötig auch über den Standart-Browser)

ist so etwas möglich und wie gehe ich da vor.

Danke im vorraus für Eure Tips
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Benutzeravatar
Morty
Beiträge: 268
Registriert: 22.10.2004 07:20
Wohnort: Erfurt
Kontaktdaten:

Re: HTML-Template laden, füllen, drucken

Beitrag von Morty »

Moin.

Sowas in der Art hab ich auch schonmal für ein Projekt gemacht. Ich habe damals einfach in mein HTML Script den Standard Druckaufruf über JavaScript eingefügt.

Code: Alles auswählen

window.print();
- Morty
Derren
Beiträge: 558
Registriert: 23.07.2011 02:08

Re: HTML-Template laden, füllen, drucken

Beitrag von Derren »

Ich kann nur die Printer Lib von ABBKlaus empfehlen. Windows only. http://www.purebasicpower.de/?PrinterLib_%28Windows%29
Signatur und so
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: HTML-Template laden, füllen, drucken

Beitrag von gnaps »

Hallo Leute,

ich möchte hier meine Frage selber beantworten:

Ja, es ist möglich wie oben angefragt.

HTML Datei erstellt, Platzhalter mit zb.: %Anrede% (dies natürlich auch für alle weiteren Daten) eingebaut.

eine Liste einrichten

Code: Alles auswählen

NewList Zeile.s()
HTML-Datei laden

Code: Alles auswählen

  If ReadFile(1,GetCurrentDirectory()+"bericht.html")
    ; 
    While Not Eof(1)
      AddElement(Zeile()) : Zeile() = ReadString(1)
    Wend
    CloseFile(1)
  Else 
    MessageRequester("Meldung","HTML nicht gefunden")
  EndIf
Daten aus den Gadgets holen

Code: Alles auswählen

anrede.s = Getgadgettext(#Anrede)
Zeile durchsuchen und abändern

Code: Alles auswählen

    ForEach Zeile()
      zeile()=ReplaceString(Zeile(),"%Anrede%",Anrede.s)
    Next 
  EndIf
Temp-HTML Datei erstellen

Code: Alles auswählen

  ForEach Zeile()
    If OpenFile(0, "bericht-temp.html")
      FileSeek(0, Lof(0))
      WriteStringN(0,Zeile())
      CloseFile(0)
    EndIf
  Next
Druckvorschau mit dem Webgadget erstellen

Code: Alles auswählen

WebGadget(#gad_Vorschau,10,60,820,590,GetCurrentDirectory()+"bericht-temp.html")
Drucken

Code: Alles auswählen

SetGadgetText(#gad_Vorschau, "javascript:window.print();")
Temp löschen

Code: Alles auswählen

DeleteFile(GetTemporaryDirectory()+"bericht-temp.html")
Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Antworten