PPD-funktioner

Viktig

Den moderna utskriftsplattformen är Windows bästa sätt att kommunicera med skrivare. Vi rekommenderar att du använder Microsofts IPP-drivrutin för inkorgsklass tillsammans med Print Support Apps (PSA) för att anpassa utskriftsupplevelsen i Windows 10 och 11 för enhetsutveckling av skrivare.

Mer information finns i designguiden för utskriftssupportapp v1 och v2.

PPD-funktioner definieras i PPD-filen inom *OpenUI/*CloseUI strukturmeningspar och i vissa PPD-nyckelord som behandlas likvärdigt av Pscript-drivrutinen. Även om EnumFeatures listar *LeadingEdge och *UseHWMargins nyckelord, definieras de inte inom i PPD *OpenUI/*CloseUI strukturnyckelordspar.

Metoderna GetOptions och SetOptions ignorerar dessa nyckelord om de visas i funktionslistan. Nyckelorden för PPD-funktionen eller alternativet är skiftlägeskänsliga.

SetOptions hanterar vissa PPD-funktioner på ett speciellt sätt:

  • Om skrivarens PPD-fil innehåller *OutputOrder-funktionsnyckelord och SetOptions anropas för att ändra alternativvalet för den här funktionen ändras inställningen för %PageOrder drivrutinsfunktionen så att den matchar den nya utdataordningen. Detta görs för att förhindra att spoolern utför onödig sidordningssimulering.

  • Om skrivarens PPD-fil innehåller *OutputBin-nyckelordet och SetOptions anropas för att ändra alternativvalet för den här funktionen, och förändringen gör att den aktuella inställningen för %PageOrder-drivrutinsfunktionen är motsatsen till skrivarens sidordning, och %MetafileSpooling är "False," återställs %MetafileSpooling till "True".

  • När spooler EMF-buffring är aktiverad, och Kollationera är inställt på "True" (detta kan anges antingen direkt i den offentliga delen av DEVMODEW--strukturen eller genom att anropa SetOptions på PPD:s *Kollationera funktionsnyckelord), men funktionen Kollationera är inte tillgänglig för närvarande och %MetafileSpooling är "False", då återställs %MetafileSpooling till "True". Detta görs när alla begärda inställningar i anropet SetOptions tillämpas.

  • Om Duplex är inställt på simplex (detta kan ställas in antingen direkt i den offentliga delen av DEVMODE-strukturen eller genom att anropa SetOptions på PPD:s *Duplex funktionsnyckelord), men %PagePerSheet är inställt på "Häfte", kommer %PagePerSheet ändras till "2". Detta görs när alla begärda inställningar i anropet SetOptions tillämpas.