Autor Beitrag
GRudiD
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.04.04 11:33 
Hallo Leute,

ich kann über mein Delphi-Programm eine HTML Datei ausdrucken. Dazu nutze ich die ShellAPI:
ausblenden Quelltext
1:
ShellExecute(Handle,'Print',PChar('C:/print.html'),'','',1);					

Das Problem ist nur, dass auf dem ausgedruckten Papier unten links die Pfadangabe (hier file//C:\print.html) und das Datum mit ausgedruckt werden.
Wie kann ich das verhindern? Gibt es einen Regestry-Trick, mit dem ich das dauerhaft verhindern kann?

Mit freundlichen Grüßen
GRudiD
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.04.04 17:24 
Ich habe die entsprechenden Einträge in der Regestry gefunden. Unter HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup sind die beiden Zeichenfolgen header und footer zu finden. Werden die Inhalte dieser beiden Einträge gelöscht, so finden sich auf dem Ausdruck keine unerwünschten Angaben mehr.
Martin77
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 282

XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
BeitragVerfasst: Fr 16.04.04 18:29 
Wenn du das beim kunden machst wird der sich sicherlich freuen. Biete es doch als option an, sichere die Einträge, drucke und stell sie wieder zurück. Also wenn du mir meine Einstellungen "löschst" ohne es zu sagen würde ich sauer reagieren.

Was ist wen nder User einen andere nDefaultBrowser hat, weiss nicht wie das bei HTML Dateien ist, denke mal das dann sicherlich der fremde Browser aufgeht.


Martin
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.04.04 21:22 
GRudiD hat folgendes geschrieben:
Werden die Inhalte dieser beiden Einträge gelöscht, so finden sich auf dem Ausdruck keine unerwünschten Angaben mehr.

Was natürlich blöd ist, da so auch die Seitenzahlen verloren gehen. Die Möglichkeiten werden von Microsoft sogar in irgendeiner Hilfe (welche? :oops:) beschrieben. Und wie Martin schrieb: wenn dein Programm auch auf anderen Rechnern zum Einsatz kommt, wird evtl. nicht jeder davon begeistert sein, wenn du Kopf- und Fußzeile löscht.

Also: Nachfragen, evtl. eigene Optionen anbieten, und (auch das schrieb Martin) schauen ob es für andere Browser (Mozilla und Opera würde ich vorrangig betrachten) ähnliche Einstellungen gibt.
GRudiD
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 17.04.04 18:57 
Also ich habe das jetzt folgendermaßen gelöst:
Der Druckvorgang beginnt erst, wenn die Daten vorher gelöscht wurden. Dann wird gedruckt und anschließend werden die Daten wieder zurückgesetzt. Eigentlich so, wie Martin77 es beschrieben hat.

Wenn der User einen anderen DefaultBrowser nutzt, sollte es meiner Meinung nach kaum Probleme geben. Die HTML Datei wird in meinem Program nicht angezeigt, sondern gleich gedruckt. Voraussetzung ist natürlich ein installierter Internet Explorer.

Zu MathiasSimmack Anmerkung: Die Seitenzahl kann auch mit ausgedruckt werden. Wenn ich den DefaultString im header (&w&bSeite &p von &P) richtig deute, so müssen nur die Zeichen &w&b verschwinden.

Ich fand eigentlich nur die Möglichkeit faszinierend, einen Datensatz aus meiner DatenBank in ein HTML Dokument zu kopieren und auszudrucken. Das ist finde ich wesentlich einfacher als die Daten direkt aus Delphi zu drucken, besonders wenn auch noch Grafiken eingebunden werden sollen.
Außerdem kann die HTML Vorlage auch extern noch verändert werden. Dazu braucht man dann Delphi nicht mehr.