Papiergröße beim Printer lesen und setzen
-
Hallo,
ich möchte die eingestellte Papiergröße eines Druckers ermitteln und setzen. Ich kann diese Werte zwar mit TPrinterSetupDialog setzen, aber ich möchte den dort eingestellten Wert danach auslesen und mir merken um ihn später gezielt vom Programm zu setzen. Die TPrinterSetupDialog-Komponente bietet aber außer dem Aufruf dieser Windows-API keinen Zugriff auf die Daten. Ich habe schon versucht mit DeviceCapabilities herum zu spielen, aber irgendwie habe ich da kein Glück gehabt. Hat jemand ein Beispiel wie ich das Problem lösen könnte ?
Bye - Peter
-
int PageHorzSize_mm=GetDeviceCaps(Printer()->Handle,HORZSIZE);
int PageVertSize_mm=GetDeviceCaps(Printer()->Handle,VERTSIZE);
-
Ich meine mit Papiergröße das Format des Papiers (A3, A4 usw.)
-
notfalls vllt errechnen ...
DIN-A Formate (beschnittenes Format, Breite x Höhe) in Millimeter: DIN A0 = 841 mm x 1189 mm DIN A1 = 594 mm x 841 mm DIN A2 = 420 mm x 594 mm DIN A3 = 297 mm x 420 mm DIN A4 = 210 mm x 297 mm (Deutsches Briefformat) DIN A5 = 148 mm x 210 mm DIN A6 = 105 mm x 148 mm DIN A7 = 74 mm x 105 mm DIN A8 = 52 mm x 74 mm DIN B Reihe DIN-B Formate (unbeschnittenes Format, Breite x Höhe) in Millimeter: DIN B0 = 1000 mm x 1414 mm DIN B1 = 707 mm x 1000 mm DIN B2 = 500 mm x 707 mm DIN B3 = 353 mm x 500 mm DIN B4 = 250 mm x 353 mm DIN B5 = 176 mm x 250 mm DIN B6 = 125 mm x 176 mm DIN B7 = 88 mm x 125 mm DIN B8 = 62 mm x 88 mm DIN C Reihe DIN-C Formate (beschnittenes Format, Breite x Höhe) in Millimeter: DIN C0 = 917 mm x 1297 mm DIN C1 = 648 mm x 917 mm DIN C2 = 458 mm x 648 mm DIN C3 = 324 mm x 458 mm DIN C4 = 229 mm x 324 mm DIN C5 = 162 mm x 229 mm DIN C6 = 114 mm x 162 mm DIN C7 = 81 mm x 114 mm DIN C8 = 57 mm x 81 mm DIN Lang = 220 mm x 110 mm (Format für den Versand eines zwei Mal horizontal gefalteten DIN A4-Formats)
?
mfg,
julian