Udostępnij za pośrednictwem


Określanie orientacji papieru

Ważny

Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.

Aby uzyskać więcej informacji, zobacz przewodnik projektowania aplikacji wspierającej drukowanie .

Istnieją trzy opcje standardowe związane z funkcją standardową orientacji : są to PORTRET, LANDSCAPE_CC90 i LANDSCAPE_CC270. O ile nie określono inaczej, domyślna orientacja to PORTRAIT. Użycie tej opcji jest proste i nie zostało omówione w tym temacie. Równowaga tego tematu skupia się na dwóch opcjach krajobrazu.

LANDSCAPE_CC90 i LANDSCAPE_CC270

Opcje LANDSCAPE_CC90 i LANDSCAPE_CC270 funkcji Orientacja wskazują stopień obrotu, jaki należy zastosować do tekstu i grafiki w trybie portretowym, aby przekonwertować je na tryb krajobrazowy. Opcja LANDSCAPE_CC90 obraca tekst i grafikę o 90 stopni przeciwnie do ruchu wskazówek zegara. Opcja LANDSCAPE_CC270 obraca tekst i grafikę o 270 stopni przeciwnie do ruchu wskazówek zegara, co odpowiada rotacji o 90 stopni zgodnie z ruchem wskazówek zegara. W przypadku obu opcji Unidrv obsługuje zadania polegające na obróceniu tekstu i grafiki o określony kąt, a następnie odpowiednio je przemieszcza, aby pasowały do nowej orientacji.

Wiele drukarek obsługuje zarówno tryb pionowy, jak i tryb poziomy, podczas gdy pozostałe drukarki, zazwyczaj z mniejszą liczbą funkcji, obsługują tylko tryb pionowy. Każdy z trybów ma własny układ współrzędnych: w trybie pionowym początek znajduje się w lewym górnym rogu (x zwiększa się w prawo, a y zwiększa się w dół); w trybie poziomym początek znajduje się w lewym dolnym rogu (x zwiększa się w górę, a y zwiększa się w prawo).

Drukarki, które nie obsługują trybu poziomego, mogą nadal drukować dokumenty w tej orientacji. W przypadku tego typu drukarki należy określić opcję LANDSCAPE_CC270 w pliku GPD drukarki. (Jeśli określisz opcję LANDSCAPE_CC90 dla tych drukarek, tekst i grafika będą zniekształcone po wydrukowaniu.) W ramach tej opcji Unidrv przedstawia przekształcony tekst i grafikę do drukarki, używając współrzędnych względem lewego górnego rogu drukarki jako punktu początkowego.

W przypadku drukarki obsługującej tryb poziomy oraz tryb pionowy należy określić opcję LANDSCAPE_CC90 w pliku GPD. W ramach tej opcji Unidrv musi zostać skierowany do wydania polecenia zmieniającego orientację na poziomą do drukarki, co powoduje przełączenie się z systemu współrzędnych trybu pionowego do układu współrzędnych trybu poziomego (z początkiem w lewym dolnym rogu). Unidrv następnie przedstawia przekształcony tekst i grafikę do drukarki ze współrzędnymi względem źródła drukarki w lewym dolnym rogu.

Jednak drukarka obsługująca tryb poziomy (dla którego zwykle jest używana opcja LANDSCAPE_CC90), może nadal działać z opcją LANDSCAPE_CC270. W ramach tej opcji Unidrv jest tak skonfigurowany, aby traktował drukarkę, jakby obsługiwała tylko tryb pionowy (czyli z tylko jednym układem współrzędnych, z początkiem w lewym górnym rogu). W związku z tym unidrv nie może być kierowany do wydawania polecenia w celu zmiany układów współrzędnych. Unidrv przedstawia przekształcony tekst i grafikę drukarce ze współrzędnymi względem tego początkowego punktu w górnym lewym rogu. Ponieważ Unidrv zakłada tę lokalizację źródła, do takiej drukarki nie powinno być wysyłane polecenie trybu poziomego, nawet jeśli użytkownik wybrał orientację poziomą na stronie właściwości drukarki. W poniższym przykładzie pliku GPD zwróć uwagę, że sekcja *Option: LANDSCAPE_CC270 zawiera polecenie umieszczające drukarkę w trybie portretowym (ORIENT_PORTRAIT_CMD), a nie polecenie umieszczające ją w trybie krajobrazowym.

*Feature: Orientation
{
  *rcNameID: =ORIENTATION_DISPLAY
  *DefaultOption: PORTRAIT
  *Option: PORTRAIT
  {
    *rcNameID: =PORTRAIT_DISPLAY
    *Command: CmdSelect
    {
      *Order: DOC_SETUP.60
      *Cmd: =ORIENT_PORTRAIT_CMD
    }
  }
  *Option: LANDSCAPE_CC270
   {
     *rcNameID: =LANDSCAPE_DISPLAY
     *Command: CmdSelect
     {
       *Order: DOC_SETUP.60
       *Cmd: =ORIENT_PORTRAIT_CMD
     }
  }
}

W systemie Windows 7 funkcja MxdcGetPDEVAdjustment ma nowe parametry rotacji poziomej. Aby uzyskać więcej informacji, zobacz MxdcXDCGetPDEVAdjustment.