AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TWebBrowser: Drucken ohne Dialog auf Wunschdrucker
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser: Drucken ohne Dialog auf Wunschdrucker

Ein Thema von MacGuyver · begonnen am 15. Sep 2011 · letzter Beitrag vom 15. Feb 2012
Antwort Antwort
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#1

TWebBrowser: Drucken ohne Dialog auf Wunschdrucker

  Alt 15. Sep 2011, 08:50
Moin Leute

Ich habe schon jede Menge durchforstet, bin aber auf keine Lösung gekommen. Jemand schrieb, dass er auf irgendeinen Drucker drucken kann, hat dazu leider nichts hinterlassen. Ich sehe leider öfter Antworten im Stil: "Ich habe den Fehler schon gefunden, danke!" Das ist für jemanden der eine Lösung sucht natürlich nicht hilfreich. Schön, dass der es gefunden hat. <grummel>

Komme ich auf mein Problem zurück. Sage ich drucken ohne Dialog, druckt er nur auf den Standarddrucker in seinen Einstellungen. Ich möchte HTML-Dokumente auf verschiedene Drucker in verschiedenen Formaten ausgeben. Dazu muss ich aber pro Druck einen anderen Drucker auswählen. Der Gedanke an verbiegen des Standarddruckers ist ok, man muss ihn nur später wieder zurückstellen.

Was für funktionierende Möglichkeiten habe ich für TWebBrowser oder CreateProcess mit "print"?


Danke für eure Bemühungen vorweg.
Stefan
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: TWebBrowser: Drucken ohne Dialog auf Wunschdrucker

  Alt 15. Sep 2011, 21:30
N'abend,

es ist schon faszinierend, wieviele Einträge eine Lösung schreiben, die nicht funktioniert - zu mindest nicht bei mir.

Delphi-Quellcode:
  if PrinterSetupDialog.Execute(WebBrowser.Handle) then
  begin
    Reg := TRegistry.Create;
    try
      if Reg.OpenKey('Software\Microsoft\Internet Explorer\PageSetup', True) then
      begin
        Reg.WriteString('printer', Printer.Printers[Printer.PrinterIndex]);
      end;

    finally
      Reg.Free;
    end;
  end;
Damit soll man den Drucker ändern können, klappt bei mir aber nicht. Hat da jemand etwas, was funktioniert?
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#3

AW: TWebBrowser: Drucken ohne Dialog auf Wunschdrucker

  Alt 15. Sep 2011, 22:31
Das ändert anscheinend den Drucker der IE, aber wann dieses das ausliest.

Was passiert, wenn du jetzt mal dein Programm neu startest oder gar das ganze Windows?


Kannst aber auch mal versuchen Delphi-Referenz durchsuchenPrinter aus der Unit Printers zu ändern. (z.B. PrinterIndex)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Sep 2011 um 22:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: TWebBrowser: Drucken ohne Dialog auf Wunschdrucker

  Alt 15. Sep 2011, 22:47
Wenn ich in HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device (Standarddrucker) eintrage, muss ich die Komponente neu erzeugen (hypothetisch). Bis jetzt habe ich nur die Anwendung neu gestartet. So stelle ich das Teil halt auf meinen Wunschdrucker, drucke das Dokument und stelle auf den original Standarddrucker zurück. Voll cool, man sieht sogar unter Start -> "Geräte und Drucker" wie der Haken umspringt, wenn man den Wert ändert.

Weiß jemand, wo das Format und die Ausrichtung (Portrait/Landscape) gespeichert ist?
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
293 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: TWebBrowser: Drucken ohne Dialog auf Wunschdrucker

  Alt 15. Feb 2012, 07:11
Moin Leute,

ich möchte mich gleich entschuldigen, dass ich den alten Eintrag wieder rauskrame. Vielleicht sucht jemand das, und ich habe die Lösung nicht eingetragen.

Ich habe die ganze Geschichte über eine separate Exe gelöst. Als erstes in die Registry die Werte schreiben und die zweite Anwendung starten. Dort die Registry lesen und mit den Sollwertern vergleichen. Sobald sie aktuell sind kann die Browser-Komponente initialisiert werden.

Und die Ausdruckrichtung? Ich habe den Drucker einfach noch einmal installiert und dort auf Landscape umgestellt. Beim Schreiben der Registry habe ich auch den Standarddrucker geändert.

Das Ende der zweiten Anwendung abwarten und im Finally die ursprünglichen Werte wieder in die Registry schreiben.
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  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 02:01 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