Aracılığıyla paylaş


Komut Yürütme Sırası

Önemli

Modern yazdırma platformu, Windows'un yazıcılarla iletişim kurmak için tercih ettiği araçlardır. Yazıcı cihazı geliştirme için Windows 10 ve 11'deki yazdırma deneyimini özelleştirmek için Yazdırma Desteği Uygulamaları (PSA) ile birlikte Microsoft'un IPP gelen kutusu sınıf sürücüsünü kullanmanızı öneririz.

Daha fazla bilgi için bkz. Yazdırma Desteği Uygulaması v1 ve v2 tasarım kılavuzu.

Yazıcı komutları, yazıcı donanımına anlamlı bir sırada gönderilmelidir. GPD dilinde tanımlanan komut adlarının çoğu için, Unidrv komutun kaçış sırasını yazıcıya ne zaman gönderdiğini bilir. İki özel durum vardır:

seçenek seçimi komutu

Yazıcı yapılandırma komutları

Bu komut türlerinin her ikisi için de komutların yürütülme sırasını belirtmeniz gerekir.

Komut yürütme sırası, bir iş bölümü adı ve bir sıra sırası numarası olmak üzere iki bileşenden oluşur. Unidrv sürücüsü her yazdırma işini altı bölüme böler. Her bölüm için, Unidrv yazıcıya bölüme atanan komutları belirtilen sırada gönderir. Aşağıdaki bölümler tanımlanmıştır:

İŞ_KURULUMU
JOB_SETUP bölümüne atanan komutlar iş başına bir kez gönderilir. Yeni bir iş başladığında gönderilen ilk komutlardır. Bu komutlar, Unidrv'in DrvStartDoc işlevinin uygulamasından gönderilir.

DOKÜMAN_KURULUM
DOC_SETUP bölümüne atanan komutlar, belgenin ilk sayfası gönderilmeden önce gönderilir. Komutlar, Unidrv'in DrvStartDoc işlevini uygulaması içinden gönderilir. (Bu komutlar, bir uygulama Win32 ResetDC işlevini çağırdıktan sonra da gönderilir. Bu bölümdeki komutlar, yazılım yazı tipleri ve desenler gibi indirilen bilgileri kaldırmamalıdır.)

SAYFA_AYARLARI
PAGE_SETUP bölümüne atanan komutlar, çizim başlamadan önce her yeni sayfanın başında gönderilir. Bu komutlar, Unidrv'in DrvStartPage işlevinin uygulamasından gönderilir.

PAGE_FINISH
PAGE_FINISH bölümüne atanan komutlar, çizim tamamlandıktan sonra her sayfanın sonunda gönderilir. Bu komutlar, DrvSendPage işlevinin Unidrv uygulamasından gönderilir.

DOC_FINISH
DOC_FINISH bölümüne atanan komutlar, belgenin son sayfası gönderildikten sonra gönderilir. Komutlar, Unidrv'in DrvEndDoc işlevinin uygulamasından gönderilir. (Bu bölümdeki komutlar, soft yazı tipleri ve desenler gibi indirilen bilgileri kaldırmamalıdır.)

İŞ_TAMAMLANDI
JOB_FINISH bölümüne atanan komutlar iş başına bir kez gönderilir. Bunlar, bir iş sona erdiğinde gönderilen son komutlardır. Bu komutlar, Unidrv'in DrvEndDoc işlevini uygulaması içinden gönderilir.

Bu bölümlerin her birinde komutlar, sıra numaralarıyla belirtilen sırayla yürütülür.

Bir komutun bölümünü ve sıra numarasını belirtmek için, Komut Öznitelikleri bölümünde açıklanan *Order özniteliğini kullanın. Biçim:

*Sipariş: BölümAdı.SıraNumarası

Öyle ki, SectionName JOB_SETUP, DOC_SETUP, PAGE_SETUP, PAGE_FINISH, DOC_FINISH veya JOB_FINISH'ten biri olabilir ve SequenceNumber sayısal bir değerdir.

Sıra numaralarının ardışık olması gerekmez, ancak bir bölümde belirtilen her sayı benzersiz olmalıdır. Bir bölümdeki komutlar, en düşük sıra numarasına sahip olandan en yüksek olana kadar yürütülür. Örneğin, aşağıdaki girişler InputBin, PaperSizeve Çözümleme özellikleri seçeneklerinin DOC_SETUP bölümüne atandığını ve belirtilen sırada gönderildiğini gösterir:

*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>"
        }
    }
    ...
}