Druckereigenschaftenattribute
Wichtig
Die moderne Druckplattform ist das bevorzugte Mittel von Windows, um mit Druckern zu kommunizieren. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.
Weitere Informationen finden Sie unter Moderne Druckplattform und im Entwurfsleitfaden für die Druckunterstützungs-App.
Druckereigenschaftenattribute sind allgemeine Druckattribute , die Druckereigenschaften wie Seitenrand, Drehung und Textdruckfähigkeiten angeben, die alle Papiergrößen und -ausrichtungen betreffen.
Attributname | Attributparameter | Kommentare |
---|---|---|
MemoryUsage | LISTE von Konstanten, die die Arten von Daten angeben, die im Druckerspeicher gespeichert werden. Kann eines oder mehrere sein von: FONT RASTER VECTOR. Wenn ein Datentyp aufgeführt ist, aber vom Drucker nicht unterstützt wird, wird er ignoriert. | Optional. Wenn nicht angegeben, ist der Standardwert LIST(FONT, RASTER, VECTOR). Weitere Informationen finden Sie unter Beschreibung der Druckerspeicherkonfigurationen. |
OEMCustomData | In Anführungszeichen gesetzte Zeichenkette, die einem Rendering Plug-In übergeben wird, wenn es IPrintOemDriverUni::DrvGetGPDDataaufruft. | Erforderlich, wenn ein Rendering-Plugin IPrintOemDriverUni::DrvGetGPDDataaufruft. Die Interpretation des Inhalts von Textstrings wird durch das Rendering-Plugin bestimmt. Dieses Attribut ist ein verschiebbares globales Attribut. Es kann auf der Root-Ebene platziert werden (siehe Nur-Root-Level-Attribute), um zu signalisieren, dass es nicht von der Druckerkonfiguration abhängig ist, oder es kann mit Option- oder Case-Konstrukten erscheinen, wenn eine Abhängigkeit besteht. |
OutputOrderReversed? | WAHR oder FALSCH, um anzugeben, ob mehrseitige Dokumente von der letzten Seite zur ersten sortiert werden. | Optional. Wenn nicht angegeben, ist der Standardwert FALSCH. Das Symbol EXTERN_GLOBAL sollte nicht mit OutputOrderReversed?verwendet werden. |
ReselectFont | LISTE von Konstanten, die Operationen angeben, nach denen Unidrv die aktuelle Schriftart erneut auswählen muss. Kann eines der folgenden sein: AFTER_GRXDATA - Nach jedem CmdSendXxxxData Befehl zur Übertragung von Rasterdaten. AFTER_XMOVE - Nach jeder x-Bewegung Cursor-Befehle. AFTER_FF - Nach dem Befehl CmdFF. | Optional. Wenn diese Option nicht angegeben wird, wählt Unidrv die Schriftarten nicht neu aus. |
ReverseBandOrderForEvenPages? | WAHR oder FALSCH gibt an, ob Reverse Banding aktiviert ist. Dieses Attribut dient der Unterstützung von Druckern mit Autoduplex-Fähigkeit, d.h. Druckern, die beide Seiten eines Blattes bedrucken können. Der Abschnitt nach dieser Tabelle enthält weitere Informationen. | Der Standardwert für dieses Attribut ist FALSE. Wenn Sie dieses Attribut auf WAHR setzen, wird die Reihenfolge der Bänder umgekehrt. Dieses Attribut ist ein verschiebbares globales Attribut. Es kann auf der Root-Ebene platziert werden (siehe Nur-Root-Level-Attribute), um zu signalisieren, dass es keine Abhängigkeit von der Druckerkonfiguration hat, oder es kann mit Option- oder Case-Konstrukten erscheinen, wenn eine Abhängigkeit besteht. |
RotateCoordinate? | WAHR oder FALSCH, um anzugeben, ob der Drucker Befehle zum Drehen des Koordinatensystems zur Anpassung an die Seitenausrichtung unterstützt. | Optional. Wenn nicht angegeben, ist der Standardwert FALSCH. Wenn WAHR, müssen die Optionseingaben für die Ausrichtungsfunktion Druckerbefehle enthalten. Kann nicht in einem Falleintrag platziert werden. |
RotateFont? | WAHR oder FALSCH, um anzugeben, ob der Drucker die Schriftarten automatisch dreht, um sie an die Seitenausrichtung anzupassen. | Optional. Wenn nicht angegeben, ist der Standardwert FALSCH. Wenn WAHR, dann muss RotateCoordinate? auch WAHRsein. Kann nicht in einem Falleintrag platziert werden. |
RotateRaster? | WAHR oder FALSCH, um anzugeben, ob der Drucker die Rasterdaten automatisch dreht, um sie an die Seitenausrichtung anzupassen. | Optional. Wenn nicht angegeben, ist der Standardwert FALSCH. Wenn WAHR, dann muss RotateCoordinate? auch WAHRsein. Kann nicht in einem Falleintrag platziert werden. |
TextCaps | LISTE von Konstanten, die die Textfähigkeiten des Druckers angeben. Kann aus einem oder mehreren der in GetDeviceCapsbeschriebenen TC_xxx-Flags bestehen. | Optional. Wenn nicht angegeben, geht Unidrv davon aus, dass keine Textfunktionen unterstützt werden. |
Zusätzliche Informationen über ReverseBandOrderForEvenPages?
Ein Nebeneffekt der Autoduplex-Funktion ist, dass die untere Kante einer gedruckten Seite wieder in den Drucker eingezogen wird, um die obere Kante der nächsten Seite zu werden. Um die Ausrichtung der zweiten Seite im Verhältnis zur ersten Seite beizubehalten, muss das Rasterbild der zweiten Seite in umgekehrter Reihenfolge an den Drucker gesendet werden. Mit anderen Worten: Wenn der Drucker die Vorderseite gedruckt hat, indem er die obere Scanlinie zuerst gesendet hat, muss er die untere Scanlinie der Rückseite zuerst drucken.
Wenn ReverseBandOrderForEvenPages? WAHR ist und der Duplexdruck eingeschaltet ist, zählt Unidrv jedes Band in umgekehrter Reihenfolge für geradzahlige Seiten auf (die Rückseiten von ungeradzahligen Seiten). Das OEM-Rendering-Plugin muss nur ein Band von Daten zwischenspeichern, bevor es an den Drucker gesendet wird. Die Reihenfolge der Abtastzeilen innerhalb der einzelnen Bänder wird nicht umgekehrt, so dass das Plug-in diese Aufgabe weiterhin übernehmen muss. Außerdem muss es die Reihenfolge der Bits innerhalb jeder Abtastzeile umkehren. Dies bedeutet zwar zusätzliche Arbeit für das Plug-in, hat aber den Vorteil, dass das Plug-in keine Rasterdaten zwischenspeichern muss und sofort mit dem Senden von Daten an den Drucker beginnen kann.
Das Attribut ReverseBandOrderForEvenPages? wird nur ausgewertet, wenn Duplexing auf „Flip on Long Edge“ eingestellt ist. Dieses Attribut wird ignoriert, wenn Duplexing auf „Flip on Short Edge“ eingestellt ist.
Sowohl der Wert des Attributs ReverseBandOrderForEvenPages? als auch die vom Treiber simulierte Drehung wirken sich auf die Art und Weise aus, wie die Bänder aufgezählt werden, was in der folgenden Tabelle dargestellt ist. Die in der Spalte mit der Überschrift WAHR angegebene Bandaufzählungsreihenfolge gilt, wenn ReverseBandOrderForEvenPages? WAHRist und Duplexdruck ausgewählt wurde und die zu druckende Seite die zweite (oder hintere) Seite ist. Ansonsten gilt die mit FALSCH überschriebene Spalte.
Treiber-simulierte Rotation | WAHR und Gerade Seite | FALSE oder Ungerade Seite |
---|---|---|
CCW_ROTATE90 | SW_LTOR | SW_RTOL |
CCW_ROTATE270 | SW_RTOL | SW_LTOR |
Keine Rotation | SW_UP | SW_DOWN |
Legende: SW_LTOR = Von links nach rechts, SW_RTOL = Von rechts nach links, SW_UP = Von unten nach oben, SW_DOWN = Von oben nach unten.
Ein OEM-Rendering-Plugin kann Autoduplexing unterstützen, ohne das Attribut ReverseBandOrderForEvenPages? zu verwenden. Das Plug-in kann dies tun, indem es alle Daten für die gesamte Seite zwischenspeichert und sie an den Drucker sendet, beginnend mit der untersten Scanzeile. Diese Scan-Zeile und alle anderen auf dieser Seite müssen in umgekehrter Reihenfolge gesendet werden.
Das OEM-Rendering-Plugin ist dafür verantwortlich, die Reihenfolge der Bits bei jeder Scanlinie und die Reihenfolge der Scanlinien bei jedem Band umzukehren, wenn es die Daten an den Drucker sendet. Um festzustellen, wann dies geschehen muss, können Sie den Wert der Standardvariablen PageNumber durch einen Aufruf von IPrintOemDriverUni::DrvGetStandardVariableunter Verwendung des Index SVI_PAGENUMBER ermitteln. Wenn die Seitenzahl ungerade ist, ist kein Umdrehen erforderlich. Wenn die Zahl gerade ist und Duplex gewählt wurde, ist eine Umkehrung erforderlich.