Udostępnij za pośrednictwem


Format wpisu pliku GPD

Important

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 Print Support App v1 and v2 design guide (Przewodnik projektowania aplikacji do obsługi wydruku w wersji 1 i 2).

Wszystkie wpisy pliku GPD są zgodne z następującym formatem:

* EntryName: EntryValue {GPD_FileEntry, GPD_FileEntry, ...}

EntryName jest zawsze wstępnie zdefiniowanym słowem kluczowym rozpoznawanym przez analizator GPD unidrv poprzedzony gwiazdką.

Wartość EntryValue musi być jednym z typów wartości GPD.

Każdy GPD_FileEntry jest innym wpisem pliku GPD zgodnym z formatem przedstawionym powyżej. Każda z tych podententi musi być prawidłowa dla określonego wpisu EntryName zawierającego go.

Niektóre słowa kluczowe EntryName nie akceptują nawiasów klamrowych ani ujętych podjednożeń.

Każdy wpis GPD jest przerywany przez koniec wiersza lub prawego nawiasu klamrowego ( } ).

Przykładem prostego wpisu pliku GPD, który nie akceptuje podentiów, jest następujący wpis atrybutu:

*MaxCopies: 99

Ten wpis określa, że maksymalna liczba kopii, które może obsłużyć drukarka, wynosi 99.

Poniżej przedstawiono bardziej złożony przykład opisujący drukarkę, która może drukować strony w jednej z dwóch orientacji strony (pionowych lub poziomych). W przykładzie określono również polecenia, które sterownik musi wysłać, aby wybrać każdą orientację.

*Feature: Orientation
{
    *Name: "Orientation"
    *DefaultOption: Portrait
    *Option: Portrait
    {
        *Name: "Portrait"
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *Cmd: "<1B>&l0O"
        }
    }
    *Option: LANDSCAPE_CC90
    {
        *Name: "Landscape"
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *Cmd: "<1B>&l1O"
        }
    }
}