2016-07-07 30 views
3

Ich drucke Text auf dem Drucker Canvas mit Printer.Canvas.TextOut().Delphi - Text ist auf schwarzem Hintergrund ausgedruckt

Ich habe mehrere Druckeraufträge definiert - einige für Grafiken und einige für reinen Text. Das hat bis jetzt gut funktioniert. Jetzt habe ich ein Problem, dass reiner Text auf schwarzem Hintergrund gedruckt wird.

Dies geschieht nur, wenn ich vor einem Textdruck einen grafischen Druck mache (es spielt keine Rolle, ob der gleiche Drucker verwendet wird oder nicht).

Ich habe keine Ahnung, was dieses Problem verursacht. Ich stelle nirgendwo einen schwarzen Hintergrund ein. Also ich hoffe, dass du helfen kannst.

Das Problem tritt bei PCL & Postscript auf.

In der Druckvorschau meines PCL-Druckers sieht alles gut aus. Der endgültige Druck auf Papier ist jedoch wieder schwarz auf schwarz.

Könnte es eine Transparenzfahne geben, die dieses Problem verursacht?


bearbeiten: Es scheint, die Transparenz, das Problem verursacht wurde. Wenn ich:

vor dem Drucken der Klartext, alles funktioniert jetzt gut. Es scheint, dass ich irgendwo etwas vermasselt habe.

+0

Ist dies nur auf einer bestimmten Maschine + Drucker oder mehreren? Übrigens, wenn Sie denken, dass Sie eine Lösung gefunden haben, wäre es für zukünftige Leser hilfreich, wenn Sie es als Antwort posten (das Beantworten Ihres eigenen q ist in Ordnung für SO). Auf diese Weise wird es als ein beantworteter q angezeigt und nicht als unbeantwortet, auf die Gefahr hin, das Offensichtliche zu sagen. – MartynA

+0

Noch nicht sicher, ob dies die Lösung oder nur die Problemumgehung für das Problem ist. Dies ist weder ein Computer noch ein druckerspezifisches Problem. Ich glaube auch, dass die PCL-Vorschau meines Druckers (Kyocera) abgehört wurde - es sollte keine Vorschau in der Vorschau haben. – Jens

Antwort

2

Das Setzen des BkMode zu transparent löste das Problem - aber es war nur ein Workaround.

Der Grund für das Problem war, dass im Grafikdruck Printer.Canvas.Brush.Color auf clBlack beim Zeichnen von gefüllten Kreisen festgelegt wurde. Und dieser Wert wurde nicht korrekt zurückgesetzt.