Sdílet prostřednictvím


Pořadí provádění příkazů

Důležitý

Moderní tisková platforma je upřednostňovaná pro komunikaci s tiskárnami ve Windows. Doporučujeme použít ovladač třídy doručené pošty IPP od Microsoftu spolu s tiskovými podpůrnými aplikacemi (PSA) k přizpůsobení prostředí tisku ve Windows 10 a 11 pro vývoj zařízení tiskárny.

Další informace najdete v průvodci návrhem aplikace podpory tisku v1 a v2.

Příkazy tiskárny musí být odeslány na hardware tiskárny ve smysluplné pořadí. U většiny názvů příkazů definovaných v jazyce GPD unidrv ví, kdy odeslat řídicí sekvenci příkazu do tiskárny. Existují dvě výjimky:

Příkaz pro výběr možnosti

příkazy konfigurace tiskárny

U obou těchto typů příkazů musíte zadat pořadí, ve kterém se mají příkazy spouštět.

Pořadí provádění příkazů je tvořeno dvěma komponentami – názvem sekce úlohy a pořadovým číslem. Ovladač Unidrv rozdělí každou tiskovou úlohu do šesti oddílů. Pro každou část unidrv odešle tiskárnu příkazy přiřazené k oddílu v zadané sekvenci. Jsou definovány následující části:

NASTAVENÍ ÚLOHY
Příkazy přiřazené k oddílu JOB_SETUP se posílají jednou pro každou úlohu. Jedná se o první příkazy odeslané při zahájení nové úlohy. Tyto příkazy se odesílají z implementace DrvStartDoc funkce Unidrv.

NASTAVENÍ_DOKUMENTU
Příkazy přiřazené k oddílu DOC_SETUP se odesílají před odesláním první stránky dokumentu. Příkazy se odesílají z implementace funkce DrvStartDoc unidrv. (Tyto příkazy se posílají také po volání funkce Win32 ResetDC. Příkazy v této části nesmí odebírat stažené informace, jako jsou soft warová písma a vzory.)

Nastavení stránky
Příkazy přiřazené k oddílu PAGE_SETUP se před zahájením výkresu posílají na začátku každé nové stránky. Tyto příkazy se odesílají z implementace Unidrv funkce DrvStartPage.

STRÁNKA_KONEC
Příkazy přiřazené k oddílu PAGE_FINISH se po dokončení výkresu posílají na konci každé stránky. Tyto příkazy jsou odesílány z implementace funkce DrvSendPage v rámci Unidrv.

DOC_FINISH
Příkazy přiřazené k oddílu DOC_FINISH se odešlou po odeslání poslední stránky dokumentu. Příkazy se odesílají v rámci implementace funkce DrvEndDoc v Unidrv. (Příkazy v této části nesmí odstraňovat stažené informace, jako jsou softwarová písma a vzory.)

KONEC_PRÁCE
Příkazy přiřazené k oddílu JOB_FINISH se posílají jednou pro každou úlohu. Jedná se o poslední příkazy odeslané při ukončení úlohy. Tyto příkazy se odesílají z implementace funkce DrvEndDoc unidrv.

V každé z těchto částí se příkazy spouští v pořadí uvedeném pořadovými čísly.

Chcete-li zadat sekci a pořadové číslo příkazu, použijte atribut *Order, který je popsán v části Atributy příkazu. Formát je následující:

*Objednávka: NázevSekce.PořadovéČíslo

kde SectionName je jednou z JOB_SETUP, DOC_SETUP, PAGE_SETUP, PAGE_FINISH, DOC_FINISH nebo JOB_FINISH, a SequenceNumber je číselná hodnota.

Pořadová čísla nemusí být po sobě jdoucí, ale každé číslo zadané v daném oddílu musí být jedinečné. Příkazy v rámci oddílu se provádějí od toho s nejnižším pořadovým číslem k tomu s nejvyšším. Například následující položky označují, že možnosti InputBin, PaperSizea Rozlišení jsou přiřazeny k oddílu DOC_SETUP a odeslány ve stanoveném pořadí:

*Feature: InputBin
{
    *Option: Auto
    {
        *Name: "Auto Tray"
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.50
            *Cmd: "<1B>(1<010014>"
        }
    }
    ...
}
*Feature: PaperSize
{
    *DefaultOption: Letter
    *Option: Letter
    {
        *Name: "Letter size"
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.60
            *Cmd: "<1B>(g<0300>n<01>r"
        }
    }
    ...
}
*Feature: Resolution
{
    *DefaultOption: 360dpi
    *Option: 360dpi
    {
        *Name: "360 dpi x 360dpi"
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.70
            *Cmd: "<1B>(d<020001>"
        }
    }
    ...
}