![]() |
3 Drucker drucken alles richtig einer nur ein weißes batt?!
Hi,
ich habe Programm entwickelt, das bestimmte Formulare ausdrucke kann. Auf dem PDF Drucker von FreePDF, einem Canon ip3000 und einem Canon ip4200 funktioniert alles super .. es kommt genau so aus dem Drucker wie es soll. Nun habe ich letztens versucht auf einem LaserJet 1018 von HP zu drucken ..nichts .. nur ein weißes Blatt .. mit allen andren Programme Editor, Word, Excel, Paint etc. druckt der Drucker gut, aber nicht mit meinem ??? wie kann das sein? hier mal etwas Code:
Delphi-Quellcode:
die procedure DruckCanvas erwartet das als Parameter DruckCanvas(var Img: TImage; Width, Height: Integer);
procedure TFormMain.Drucken1Click(Sender: TObject);
var x,y: integer; SeitenAnsicht: TImage; begin if PrintDialog1.Execute then begin Printer.Title:= CboxFormularart.Text+' '+LabNr.Caption; Printer.BeginDoc; SetMapMode(Printer.Canvas.Handle, MM_ANISOTROPIC); x:= GetDeviceCaps(Printer.Canvas.Handle, PHYSICALWIDTH); y:= GetDeviceCaps(Printer.Canvas.Handle, PHYSICALHEIGHT); SetWindowExtEx(Printer.Canvas.Handle,x,y,Nil); SetViewportExtEx(Printer.Canvas.Handle,x,y,Nil); try SeitenAnsicht:= Timage.Create(self); SeitenAnsicht.Visible:= false; FormDruckansicht.DruckCanvas(SeitenAnsicht, x, y); Printer.Canvas.Draw(0-GetDeviceCaps(Printer.Canvas.Handle, PHYSICALOFFSETX), 0-GetDeviceCaps(Printer.Canvas.Handle, PHYSICALOFFSETY), SeitenAnsicht.Picture.Graphic); finally SeitenAnsicht.Free; end; Printer.EndDoc; end; end; mit den Angaben von width und height wird das Formular dann passend auf die Größe des Canvas' von Img gezeichnet (alle größen in dem Formular sind proportional zur Höhe und Breite). Ich hoffe jemand von euch hat eine gute Idee .. denn da der ip3000 an meinem Arbeitsplatz duch den LaserJet ersetzt wurde kann ich momentan nichts mit meinem Programm durcken ... und ich benötige es eigentlich täglich!!! grüße guitar1 |
Re: 3 Drucker drucken alles richtig einer nur ein weißes bat
moin,
wie ist der HP Drucker eingestellt ? Welcher Druckmodus wird verwendet ?? Irgendeine PCL-6 oder PCL-5 Emulation ? Schau mal in die Konfiguration und wähl mal die HP-Laserjet Emulation aus (wenn vorhanden) gruß ascotlx |
Re: 3 Drucker drucken alles richtig einer nur ein weißes bat
Und es kann sich nicht um die alte Geschichte handeln, daß das Drucken mit den VCL Routinen (Einfach auf Printer.Canvas malen) bei einigen Geräten nicht funktioniert? Ich hatte das früher gelegentlich und drucke seither mit dem Code den ich
![]() Gruß Michael |
Re: 3 Drucker drucken alles richtig einer nur ein weißes bat
Jupp, grizzly hat den richtigen Link.
Hintergrund: Die BitBlt() Funktion ist von vielen Druckertreibern unterstützt und von ebenso vielen nicht. Von daher immer mit der ![]() ![]() ![]() ![]() |
Re: 3 Drucker drucken alles richtig einer nur ein weißes bat
hey, vielen Dank für den Link, ich konnte es jetzt zwar noch nicht auf dem HP ausprobieren (geht erst am Mo wieder) aber da der Canon es auch nach der Änderung noch druckt bin ich da mal optimistisch eingestellt :-D
|
Re: 3 Drucker drucken alles richtig einer nur ein weißes bat
Liste der Anhänge anzeigen (Anzahl: 1)
hi allerseits,
wie gesagt auf dem Canon und PDF-Drucker wird alles richtig gedruckt ... beim HP hingegen ... wird zwar auch alles gedruckt, jedoch mit einem dunkelgrauen Hintergrund !?!?! jetzt frag ich mich und auch euch - wie kann das sein ??? ich sende dem Drucker ja den Canvas des "Bildes" und auf dem Canvas ist der Hintergrund devinitiv WEIß und nicht grau! Ich habe hier mal einen eingescannte version, damit sich jeder ein Bild davon machen kann, wie das aussieht ... ich habe auch schon in den Druckereinstellungen herumprobiert ... aber alle Ausdrucke hatten den selben, grauen Hintergrund :( ich hoffe ihr habt eine Idee :wink: grüße guitar1 PS: zu dem Bild muss man sagen, das die Farben durchs einscannen entstanden sind, eigentlich ist das ganze Blatt einheitlich grau, der weiße Rand um das Bild ist der Randbereich auf dem der Drucker nicht drucken kann. |
Re: 3 Drucker drucken alles richtig einer nur ein weißes bat
Nö. :(
Vielleicht irgendwas mit Paletten? Wird dem Bitmap in SeitenAnsicht irgendwann mal ein Pixelformat zugewiesen (in FormDruckansicht.DruckCanvas)? Wenn nicht, dann hat das Bitmap das pixelformat pfDevice - und mit dem hab ich mich auch schon gelegentlich geärgert. Aber wie gesagt, ich hab sonst keinen Verdacht... Gruß Michael |
Re: 3 Drucker drucken alles richtig einer nur ein weißes bat
hi grizzly,
vielen dank für denn tipp, es lag wirklich an der palette, ich hab sie jetzt geändert und alles klappt super :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz