Entwickler-Ecke
Sonstiges (Delphi) - Drucken von HTML-Seiten
ssb-blume - Sa 13.11.10 14:49
Titel: Drucken von HTML-Seiten
Hallo,
wie ich eine HTML-Seite drucke, die Druckereinstellungen mache usw. weis ich.
ABER wie kann ich beim Drucken programmtechnisch (nicht über Printersetup) die Papiergröße und -Ausrichtung
(Landscape / Portrait) bestimmen?
Die Parameter Ränder, header und footer stehen in der Registry unter:
HKEY-CURRENT_USER\SOFTWARE\Microsoft\Internet explorer\PageSetup:
mit den Werten
margin_left, margin_top, margin_right, margin_bottom; (alle als string mit dem wert: mm/25.4) (inch),
footer, header; (als string, mit Formatierungen: Seiten-Nr: &p; Datum: &d usw...)
Wenn man diese Werte in die Registry schreibt, gelten sie für nur den Internet-Explorer, der ja mit
TWebBrowser angesprochen wird.
Also nochmal meine Fragen:
- Wo steht Landscape/Portrait und das Papierformat?
- Was steht im Parameter "pvaIn" und "pvaOut" der Procedure ExecWB ?
Wäre schön, wenn das mal einer weiß!
Hansi
Moderiert von
Martok: Topic aus Internet / Netzwerk verschoben am Sa 13.11.2010 um 15:28
Gerd Kayser - So 14.11.10 02:41
ssb-blume hat folgendes geschrieben : |
Also nochmal meine Fragen:
- Wo steht Landscape/Portrait und das Papierformat?
- Was steht im Parameter "pvaIn" und "pvaOut" der Procedure ExecWB ?
|
1. Du kannst mit WbExec
nicht die Druckausrichtung ändern. Zitat: "The only settings that can be changed are page margins, and header and footer information. There is no supported way to change other settings like page orientation or printer."
Siehe:
http://support.microsoft.com/kb/236777/en-us
2. Die Einstellungen zur Druckausrichtung speichert der Druckertreiber im Binary-Format in der Registry.
3. Der einzige Weg, der mir einfällt: Die Einstellungen des Druckertreibers (Orientation, Schacht, Papiergröße usw.) vor dem Drucken ändern, dann ausdrucken und danach wieder zurücksetzen.
Beispiel siehe hier:
http://groups.google.com/group/borland.public.delphi.language.objectpascal/browse_thread/thread/8bd5e56c3b17d38a/23acfc938c9830da?lnk=raot
jaenicke - So 14.11.10 07:33
ssb-blume hat folgendes geschrieben : |
| wie ich [...] die Druckereinstellungen mache usw. weis ich. |
Also ich habe das für neue Versionen des IE nicht hinbekommen. Die Registryeinstellungen wurden im TWebBrowser schlicht ignoriert.
Letztlich ist die Frage ob es der TWebBrowser sein muss. Es gibt auch THTMLViewer usw. für die Darstellung von HTML-Seiten. Und dort kannst du im Quelltext, wenn du das möchtest, sogar direkt etwas ändern, da der Delphi-Quelltext dabei ist. Zudem brauchst du keine externen Komponenten.
ssb-blume - So 14.11.10 10:31
Hallo Jänicke,
in welcher Delphi-Version ist THtmlViewer denn enthalten?
Ich habe momentan nur D7
Hansi
jaenicke - So 14.11.10 10:34
Direkt enthalten gar nicht, ich dachte du bingst oder googlest das einfach einmal (in beiden Suchmaschinen steht der Link nämlich an Platz 1). ;-)
http://pbear.com/htmlviewers.html
Der Autor hat die Komponenten, die früher nicht kostenlos waren, komplett mit Quelltext als Public Domain zur Verfügung gestellt. Diese können jetzt also frei verwendet werden.
ssb-blume - Mo 15.11.10 11:32
Hallo Jaenicke,
habe nun installiert und probiert und Code gelesen..
ABER
das Teil hat so seine Probleme mit table und einigen Rahmen/Linien.. (stylesheet)-Angaben, geht einfach nur ein Rahmen drum.
Da nirgendwo steht, welche Einschränkungen sind, muß ich leider darauf verzichten.
2. Ist es garnicht so einfach, den Canvas um 90 grad drehen oder quer zu drucken. Da kann ich auch alles gleich selber machen.
Habe früher mal Richedit aufgemotzt, da geht alles. Wollte aber modern sein und deshalb HTML..
Als nochmal vielen Dank fuer Deine Mühe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!