Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Grafikdruck setzt unregelmäßig aus (https://www.delphipraxis.net/183626-grafikdruck-setzt-unregelmaessig-aus.html)

udo888 23. Jan 2015 13:27

Delphi-Version: 7

Grafikdruck setzt unregelmäßig aus
 
Hallo, ich habe ein recht eigentümliches Problem.

Beim Ausdruck einer Seite platziere ich neben der Schrift an bestimmte Stellen kleine Grafiken (z. B. ein Logo). Diese Grafiken (jpg) werden jeweils aus einer Datei eingelesen, in Bitmap gewandelt und dann gedruckt.
Alles okay, der Vorgang funktioniert in 96% aller Fälle wunderbar. Bei einigen Anwendern passiert es, dass die Grafik auf dem Papier fehlt. Falls die Seite dort doppelt gedruckt wird, kann es sein, dass die zweite Seite jedoch vollständig ist. Ebenso ist alles okay, wenn ich die Ausgabe in eine Bitmap-Datei umleite oder in einen PDF-Wandler drucke.
Es ist nicht nachvollziehbar, bei welchem Drucker so etwas passiert. Aber es betrifft immer nur bestimmte Anwender.

Hat jemand eine Idee, woran das liegen könnte?

DeddyH 23. Jan 2015 14:30

AW: Grafikdruck setzt unregelmäßig aus
 
Etwas Ähnliches hatten wir auch schon einmal, Grund war der Druckertreiber. Man kann also schauen, ob dieser aktuell ist und/oder mal testhalber auf einem anderen Drucker (sofern vorhanden) ausdrucken.

Perlsau 23. Jan 2015 14:58

AW: Grafikdruck setzt unregelmäßig aus
 
Zitat:

Zitat von udo888 (Beitrag 1287571)
Ebenso ist alles okay, wenn ich die Ausgabe in eine Bitmap-Datei umleite oder in einen PDF-Wandler drucke.

Wenn kein funktionierender Druckertreiber verfügbar ist, könnte man das Problem auch lösen, indem man grundsätzlich in eine Bitmap druckt (außer bei PDF-Druckern, wenn's da funktioniert) und dieses Bitmap dann direkt an den Drucker schickt.

hstreicher 23. Jan 2015 17:03

AW: Grafikdruck setzt unregelmäßig aus
 
Ein Ähnliches Problem hatten wir auch mal mit einem etwas "überarbeiteten" Drucker
bei großen Grafikdatei stieg der immer aus , im Druckertreiber gab es aber eine Option
die Bilder auf dem Rechner zu rendern und als Bild an den Drucker zu senden ,
danach hatten wir keine Probleme mehr

udo888 23. Jan 2015 23:09

AW: Grafikdruck setzt unregelmäßig aus
 
Im konkreten Fall sind das recht kleine Dateien, Firmenlogo oder ähnliche Sachen, die einfach an geeigneter Stelle zur "Aufhübschung" des Briefbogens gedruckt werden.
Bei einem Anwender hatten wir das Problem gelöst, indem wir beim Virenscanner das Verzeichnis der Grafikdateien aus der Überwachung genommen hatten. Das funktionierte wiederum bei anderen Anwendern nicht, könnte aber auf ein primäres Zeitproblem hindeuten.

jobo 24. Jan 2015 17:25

AW: Grafikdruck setzt unregelmäßig aus
 
Neben den obigen Vorschlägen und Szenarien kann ich kann nur Raten, mögliche Konstellationen auszuprobieren:
natürlich Druckertreiber auffrischen, ggF. alternativ verfügbare PCL,PDF,GDI Treiber installieren
Variante: Treiber von Schwestermodellen des Druckers ausprobieren
Variante: falls möglich Druckeranschluss (Windows Port) von PrintServer auf lokal oder umgekehrt umstellen
Druck ähnlicher Dateien aus MS Word, Open Office
Einstellungen der Druckwarteschlage und Patchstatus des Systems prüfen (falls Printserver eingesetzt wird auch den prüfen)

Ich nehme an, dass die funktionierenden und nicht funktionierenden Bilder (2.Seite, anderer PC) identisch sind und nicht über dutzende Templates variieren.

Was/wie druckst Du? Canvas, html, ..?

udo888 24. Jan 2015 19:39

AW: Grafikdruck setzt unregelmäßig aus
 
Ja, ich drucke über Canvas:

Delphi-Quellcode:
 ...
 tbm:= TBitmap.Create;
 try
  st:= UpperCase(ExtractFileExt(FileName));
  if ((st = '.JPG') or (st = '.JPEG')) and FileExists(FileName) then begin
   // hier kommt er immer vorbei
   tjp:= TJpegImage.Create;
   try
    tjp.LoadFromFile(FileName);
    tbm.Width:= tjp.Width;
    tbm.Height:= tjp.Height;
    tbm.Canvas.Draw(0,0,tjp);
   finally
    tjp.Free;
   end;
  end;
  ...
 finally
  tbm.Free;
 end;
Die Datei wird immer gefunden, habe ich protokolliert.
Leider habe ich nur funktionierende Drucker zu Verfügung, deshalb kann ich schlecht debuggen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 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