![]() |
AW: TPrinter, Papierformat
Die Lösung mit dem Treiber haben wir bisher auch immer so genutzt. Problem ist, der Treiber hat ne macke. Speichere ich dort ein anderes als das Werkseitig voreingestellte Format als Standard, druckt er alles 2 mal.
Es muß ja auch irgendwie in Delphi gehen, das Format mitzugeben. FastReport macht es ja auch. Ich werde mir mal die Quellen von denen anschauen. |
AW: TPrinter, Papierformat
Der Code aus dem Link von DeddyH funktioniert bei mir nur wenn ich zusätzlich Höhe und Breite mitgebe.
Delphi-Quellcode:
GetPaperInfo ist einem
// lokales Umstellen
var Device, Driver, Port: array[0..80] of Char; DevMode: THandle; pDevmode: PDeviceMode; Papers: TPaperInfos; begin GetPaperInfo(Papers, Printer.PrinterIndex); Printer.GetPrinter(Device, Driver, Port, DevMode); if Devmode <> 0 then begin pDevMode := GlobalLock(Devmode); if pDevmode <> nil then try with pDevmode^ do begin dmPapersize := ListBox1.ItemIndex; dmPaperLength := Papers[ListBox1.ItemIndex].papersize.Y; dmPaperWidth := Papers[ListBox1.ItemIndex].papersize.X; dmFields := dmFields or DM_PAPERSIZE OR DM_PAPERLENGTH OR DM_PAPERWIDTH; end; finally GlobalUnlock(Devmode); end; end; end; ![]() |
AW: TPrinter, Papierformat
Zitat:
Und per Delphi geht es sogar ganz toll - allerdings im RAW-Druck per Commands. Noch eine Anmerkung zu Etiketten-Rollendruckern mit vorgestanzten Etiketten: Normal braucht man das Etikett bei Einlegen einer neuen Rolle nur einmessen, die Lichtschranke macht im Steg dann den Rest. Mißt die Lichtschranke Etiketten-Ende/Neuanfang, ist der Druck eh zu Ende. Die eingelegte Rolle steuert ihr Format selber. Allerdings kann es dabei einen Parameter geben, der das evtl. verhindert: Der %-Wert der Messung von der Etikettenlänge. Ich würde einfach mal ins Handbuch gucken, was da zu Format-Einstellung am Drucker selber steht. |
AW: TPrinter, Papierformat
Ich hab mal den Treiber installiert (Win 7) und ein Format (62x70mm (Beispiel)) gesetzt: Das Format bleibt im Treiber erhalten! Allerdings muß es auch, wie oben schon erwöhnt, auch gespeichert werden.
Per Programm ausgelesene Treiber(Printer)Werte:
Code:
Die gespeicherten Werte bleiben erhalten, bis neue Werte gesetzt werden, auch über einen PC-Start hinaus. Allerdings würde der Aufruf des Druckdialogs diese Werte wieder auf Defaultwerte setzen, wenn dem Druckdialog nicht die gewünschten Werte als Default mitgegeben werden!
Index: 6
Drucker: Brother QL-580N LE Physikalische Seite [mm]: 70 x 62 Papier-Nutzen [mm]: 64 x 59 Papier-Offset [mm]: x = 3 y = 2 Drucker-Fächer: FachNr. 15, Automatisch auswählen, FachNr. 257, Band, DeviceCaps: DRIVERVERSION 1536 TECHNOLOGY 2 Raster printer HORZSIZE 64 h[mm] VERTSIZE 59 b[mm] HORZRES 756 h [Px] (Printer.PageWidth =756) VERTRES 695 b [Px] (Printer.PageHeight =695) LOGPIXELSX 300 b[px/inch] LOGPIXELSY 300 h[px/inch] BITSPIXEL 1 color bits for each pixel PLANES 1 color planes NUMBRUSHES -1 brushes NUMPENS 10 Pens NUMFONTS 0 installierte Fonts NUMCOLORS 2 Color Tables ASPECTX 300 Relative width [Px] ASPECTY 300 Relative height [Px] ASPECTXY 425 Diagonal width [Px] SIZEPALETTE 2 COLORRES 0 PHYSICALWIDTH 827 width of the physical page [device units] PHYSICALHEIGHT 731 height of the physical page [device units] PHYSICALOFFSETX 35 distance from the left edge [device units] PHYSICALOFFSETY 18 distance from the top edge [device units] Die Manuals sind wie üblich unter aller Sau - kaum Informationen, vorallem keine ordentlichen techn. Informationen - aber das scheint eh der Trend zu sein :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 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 by Thomas Breitkreuz