Bagikan melalui


Atribut GPD Khusus Tingkat Akar Baru untuk Windows Vista

Penting

Kami menyarankan agar Anda menggunakan driver kelas kotak masuk IPP Microsoft, bersama dengan Print Support Apps (PSA), untuk menyesuaikan pengalaman cetak di Windows 10 dan 11 untuk pengembangan perangkat printer.

Untuk informasi selengkapnya, lihat panduan desain aplikasi dukungan Cetak.

Daftar berikut ini menjelaskan atribut GPD yang baru dimulai dengan Windows Vista. Untuk mempertahankan kompatibilitas mundur dengan versi Windows Vista pra-Windows, Anda harus mengelilingi atribut ini dengan kode berikut.

*Ifdef: WINNT_60 ... *Endif: WINNT_60 blocks

PrintProcDuplexOptions

Atribut PrintProcDuplexOptions mengontrol berbagai opsi dupleks dalam prosesor cetak. Atribut ini dapat memiliki salah satu nilai berikut:

1: Halaman terbalik untuk dupleks terbalik

2: Menekan pembuatan halaman kosong tambahan jika memungkinkan

3: Kedua hal di atas

0: Tidak ada yang di atas

Jika PrintProcDuplexOptions adalah 1, itu mengontrol apakah prosesor cetak harus membalikkan halaman pada dupleks terbalik.

Asumsikan bahwa Anda harus mencetak dokumen empat halaman dengan n-up = 1, dan Anda ingin menggunakan pencetakan terbalik dan pencetakan dupleks. Karena Anda ingin mencetak balik, Anda ingin mencetak halaman terakhir sebelum halaman pertama. Karena Anda ingin pencetakan dupleks, Anda ingin mencetak dua halaman pada satu lembar kertas. Prosesor cetak dapat memutar kembali halaman dalam salah satu dari dua format berikut (di mana setiap pasangan angka menunjukkan dua halaman yang akan mencetak di dua sisi lembar kertas tunggal):

  • Format 1: (4,3),(2,1)

  • Format 2: (3,4),(1,2)

Sebelum Windows Vista, prosesor cetak akan mencetak urutan dalam format 2 [(3,4),(1,2)]. Tetapi di Windows Vista dan yang lebih baru, format defaultnya adalah format 1 [(4,3),(2,1)]. Perubahan ini terjadi karena banyak printer memiliki output yang salah dengan format 2; artinya, halaman yang dicetak tidak diurutkan dalam urutan yang tepat.

Tetapi jika printer Anda bekerja dengan benar dengan format 1, Anda tidak perlu mengubah apa pun untuk Windows Vista dan yang lebih baru. Namun, jika printer Anda salah bekerja dengan format 1 dan Anda ingin kembali ke format 2, tambahkan contoh kode berikut ke file GPD Anda.

*Ifdef: WINNT_60
*PrintProcDuplexOptions: 1
*Endif: WINNT_60

Format 1 mungkin bekerja lebih baik dalam beberapa orientasi atau beberapa kombinasi baki input dan output, dan format 2 mungkin bekerja lebih baik dalam kombinasi lain. Akibatnya, Anda dapat menempatkan atribut PrintProcDuplexOptions dalam konstruksi switch/case.

Untuk pengandar Windows Vista Unidrv, jika Anda memiliki prosesor cetak Vista pra-Windows, format 2 adalah default, dan Anda tidak dapat mengubah format; jika tidak, jika Anda memiliki prosesor cetak Windows Vista, format 1 adalah default, dan Anda tidak dapat mengubah format.

Untuk driver Windows Vista Unidrv, jika Anda memiliki prosesor cetak Vista pra-Windows, format 2 adalah default, dan atribut GPD akan diabaikan; jika tidak, jika Anda memiliki prosesor cetak Windows Vista, format 1 adalah default, tetapi Anda dapat mengubah format dengan menggunakan atribut PrintProcDuplexOptions .

Jika PrintProcDuplexOptions adalah 2, itu mencegah pembuatan halaman kosong dalam skenario dupleks tertentu.

Atribut ini mengontrol apakah Anda harus mengirim halaman kosong ekstra ke pencetak ketika Anda melakukan pencetakan dupleks. Misalnya, jika pekerjaan adalah pekerjaan satu halaman dan dupleks aktif (asumsikan n-up = 1), hanya satu sisi lembar yang perlu dicetak. Saat ini, printer akan mencetak satu sisi dan kemudian menghasilkan halaman kosong kosong di sisi terbalik. (Karena tugas cetak dimulai dengan duplex=on, printer mengharapkan dua halaman sebelum mengeluarkan lembar. Jika halaman kedua tidak tercetak, beberapa pencetak terus menunggu.) Kelemahan solusi saat ini adalah:

  • Halaman yang dihasilkan menyebabkan jumlah halaman yang tidak akurat dalam perangkat lunak akuntansi dan penghitung halaman dalam printer.

  • Ketika halaman keluar dari printer (di beberapa printer bergaya Hewlett Packard DeskJet), pengguna mungkin mencoba menariknya keluar saat printer mencoba menariknya kembali. Situasi ini dapat menyebabkan masalah perangkat keras.

Anda dapat menghindari masalah sebelumnya dengan menentukan *PrintProcDuplexOptions: 2 dalam file GPD.

Perhatikan bahwa meskipun atribut ini diatur, pengoptimalan halaman kosong hanya dilakukan dalam kasus terbatas berikut:

  1. Untuk pencetakan terbalik, pengoptimalan halaman kosong dilakukan hanya ketika seluruh pekerjaan dapat pas pada satu sisi kertas (misalnya, pekerjaan satu halaman dengan n-up=1 atau pekerjaan empat halaman dengan n-up =4). Jika pekerjaan membutuhkan lebih dari satu lembar, pengoptimalan tidak dilakukan (karena halaman printer akan dicetak dalam urutan yang tidak akurat). Misalnya, untuk pekerjaan tiga halaman, halaman dapat dicetak dalam urutan 3,2,1,kosong<> alih-alih 4,3,2,kosong<>.

  2. Pengoptimalan halaman kosong tidak dilakukan jika prosesor cetak harus mensimulasikan salinan. Prosesor cetak mensimulasikan salinan jika jumlah salinan yang diperlukan lebih dari jumlah salinan yang dapat dibuat oleh prosesor cetak.

    Situasi berikut adalah contoh kapan simulasi terjadi dan halaman kosong dihasilkan (jika diperlukan):

    • Dua salinan untuk printer yang tidak dapat membuat salinan

    Situasi berikut adalah contoh kapan simulasi tidak terjadi dan Anda dapat menekan pembuatan halaman tambahan:

    • Tugas penyalinan tunggal untuk printer yang tidak dapat membuat salinan
    • Pekerjaan penyalinan lima untuk printer yang dapat membuat lebih dari satu salinan

Penggunaan PrintProcDuplexOptions

*Ifdef: WINNT_60
*PrintProcDuplexOptions: 2
*Endif: WINNT_60 

Dalam beberapa kasus, Anda mungkin tidak keberatan dengan pencetakan halaman tambahan saat dalam kasus lain yang Anda lakukan. Oleh karena itu, Anda dapat menempatkan atribut PrintProcDuplexOptions dalam konstruksi switch/case.

Untuk pengandar Windows Vista Unidrv, jika Anda memiliki prosesor cetak Pra-Windows Vista, pencetak akan mencetak halaman kosong ekstra, jika dianggap perlu, dan Anda tidak dapat mengubah perilaku ini; jika tidak, jika Anda memiliki prosesor cetak Windows Vista, printer akan mencetak halaman kosong ekstra, jika dianggap perlu, dan Anda tidak dapat mengubah perilaku ini.

Untuk pengandar Windows Vista Unidrv, jika Anda memiliki prosesor cetak Vista pra-Windows, printer akan mencetak halaman Kosong tambahan, jika dianggap perlu, dan atribut GPD akan diabaikan; jika tidak, jika Anda memiliki prosesor cetak Windows Vista, dan jika atribut GPD yang sesuai dan kondisi yang tepat ada (yaitu, kondisi yang dijelaskan sebelumnya tentang mencegah pencetakan halaman kosong), printer tidak akan mencetak halaman kosong.

PreAnalysisOptions

Atribut PreAnalysisOptions dapat memiliki salah satu nilai berikut:

0: Nonaktifkan semua mode pra-analisis.

1: Mode default. Aktifkan analisis teks z-order monokrom dan pengoptimalan pita kosong. Mode ini diaktifkan untuk perangkat dengan dukungan font atau font perangkat yang dapat diunduh dan resolusi tinggi (600 dpi atau lebih tinggi), mode render 24 bpp.

2: Aktifkan pengoptimalan 1 bpp untuk fungsi panggilan balik ImageProcessing 24 bpp.

4: Aktifkan dukungan StretchBlt perangkat.

8: Aktifkan mode pra-analisis vendor.

16: Aktifkan mode debug untuk 1 bpp di mana band dikonversi menjadi 24 bpp sebelum memanggil fungsi panggilan balik ImageProcessing.

GunakanBMPFontCompression?

Atribut UseBMPFontCompression? mengontrol apakah Unidrv harus memadatkan data ketika font diunduh sebagai bitmap. Nilai default UseBMPFontCompression? adalah FALSE, yang berarti Unidrv tidak akan melakukan pemadatan jika atribut ini tidak ada dalam file GPD. Nilai default ini mempertahankan kompatibilitas dengan versi Unidrv yang lebih lama yang tidak memiliki fitur pemadatan font bitmap. Anda harus mengatur atribut ini ke TRUE hanya jika printer Anda mendukung pemadatan font bitmapData karakter bitmap terkompresi dalam format run-length-with-line-repetition terkompresi.

UseMode5Compression?

Atribut UseMode5Compression? mengontrol apakah UniDrv harus menggunakan pemadatan Mode 5. Kompresi Mode 5 (atau Metode 5) adalah kompresi adaptif yang memungkinkan penggunaan gabungan beberapa metode kompresi lainnya (seperti Unencoded, TIFF, atau Delta-Row). Nilai default UseMode5Compression? adalah FALSE, yang berarti Unidrv tidak akan melakukan kompresi adaptif jika atribut ini tidak ada di GPD. Nilai default ini mempertahankan kompatibilitas dengan versi Unidrv yang lebih lama yang tidak memiliki fitur kompresi adaptif. Anda harus mengatur atribut ini ke TRUE hanya jika printer Anda mendukung pemadatan adaptif.

GunakanHPGLPolylineEncoding?

Atribut UseHPGLPolylineEncoding? mengontrol apakah Unidrv harus menggunakan pengodean poliline. HP-GL/2 mendukung perintah Pen Up/Pen Down/Draw Absolute/Draw Relative untuk vektor gambar. Perintah polyline encoded (PE) adalah cara yang lebih efisien untuk mewakili vektor.

Nilai default untuk UseHPGLPolylineEncoding? adalah FALSE, yang berarti Unidrv tidak akan menggunakan perintah PE jika atribut ini tidak ada di GPD. Nilai default ini mempertahankan kompatibilitas dengan versi Unidrv yang lebih lama yang tidak memiliki dukungan untuk perintah PE. Anda harus menyetel nilai ini ke TRUE hanya jika printer Anda mendukung pengodean poliline.

PrintSchemaPrivateNamespaceURI

Atribut PrintSchemaPrivateNamespaceURI menentukan URI namespace privat yang harus digunakan driver inti untuk mengekspos fitur atau opsi PPD privat di PrintTicket atau PrintCapabilities. Atribut harus muncul di akar dokumen GPD dan berisi representasi ASCII dari URI yang akan digunakan untuk menentukan namespace layanan di dokumen PrintTickets dan PrintCapabilities. URI itu, pada gilirannya, akan dikaitkan dengan semua fitur dan opsi yang tidak memiliki pemetaan eksplisit ke dalam skema publik, atau yang tidak dikenali driver inti.

PrintSchemaKeywordMap

Atribut PrintSchemaKeywordMap muncul di bawah konstruksi fitur dan opsi dalam file GPD. Atribut ini menunjukkan nama skema cetak publik apa yang harus Anda gunakan dengan fitur yang ditentukan printer. Anda dapat mengganti nama opsi apa pun yang ditentukan dalam file GPD, kecuali Dupleks dan Susun, di PrintTicket dengan menggunakan atribut PrintSchemaKeywordMap .

Pengurai GPD mengabaikan atribut ini untuk fitur yang dikenali secara eksplisit, termasuk ukuran dan warna halaman.

Semua nilai harus diapit dalam tanda kutip. Mereka akan dikonversi ke Unicode dengan menggunakan halaman kode yang ditentukan dalam GPD, jika ada. Definisi duplikat dari atribut apa pun diselesaikan dengan cara yang sama seperti atribut GPD lainnya: Definisi terakhir yang dibaca diberikan prioritas.

Jika Anda memetakan fitur ke kata kunci Skema Cetak yang sudah digunakan dalam file GPD, dokumen PrintCapabilities yang sesuai mungkin mencantumkan fitur tersebut lebih dari sekali. Beberapa kemunculan mungkin membingungkan, jadi Anda tidak boleh memetakan fitur ke Mencetak kata kunci Skema yang digunakan dalam file GPD.

Pengurai GPD secara otomatis menghasilkan opsi FORMSOURCE untuk fitur InputBin dan memetakannya ke kata kunci PilihOtomatis di Skema Cetak. Jika file GPD Anda berisi opsi InputBin yang menggunakan atribut PrintSchemaKeywordMap untuk memetakan opsi ke kata kunci Skema Cetak, fitur dalam Skema Cetak akan berisi opsi FORMSOURCE di namespace perangkat. PilihOtomatis akan muncul dalam dokumen PrintCapabilities dan merujuk ke opsi yang ditentukan dalam atribut PrintSchemaKeywordMap dari file GPD.

Contoh kode berikut menunjukkan file GPD parsial untuk menampilkan tata letak.

*Feature: HPSTAPLER
{
    *Name: "Staple"
    *DefaultOption: Off
    * PrintSchemaKeywordMap: "Staple"

    *Option: Off
    {
        *Name: "Off"
        * PrintSchemaKeywordMap: "Off"
    }
 
    *Option: On
    {
        *Name: "On"
        * PrintSchemaKeywordMap: "On"
    }
}

IsXPSDriver

Atribut IsXPSDriver menggunakan sintaks GPD berikut.

*IsXPSDriver?: TRUE | FALSE

Anda dapat menggunakan modul konfigurasi Windows Vista Unidrv (Unidrvui.dll) untuk driver GDI Microsoft Win32 dan driver XPSDrv baru. Untuk menggunakan modul konfigurasi Unidrv untuk driver XPSDrv, file data GPD driver XPSDrv harus menentukan atribut IsXPSDriver dan mengatur nilainya ke TRUE.

Misalnya, jika Anda memiliki driver XPS, gunakan kode berikut.

*IsXPSDriver?: TRUE

Untuk menggunakan modul konfigurasi Unidrv untuk driver Win32 GDI, Anda tidak perlu menentukan atribut ini.

UseImageForHatchBrush?

Atribut UseImageForHatchBrush? menggunakan sintaks GPD berikut.

*Ifdef: WINNT_60
*UseImageForHatchBrush?: TRUE
*Endif: WINNT_60 

Dalam Microsoft Windows Server 2003 atau Windows XP, ketika Unidrv mencetak dalam mode HP-GL/2, jika kuas hatch diterima dalam fungsi DrvRealizeBrush , Unidrv mengirimkan perintah sehingga printer memilih kuas hatch yang sesuai. Unidrv tidak mengontrol bagaimana kuas palka dirender. Misalnya, penspasian antar baris biasanya dikontrol oleh resolusi. Pada resolusi yang lebih tinggi, penspasian menjadi kecil, sementara pada resolusi yang lebih rendah, penspasian akan lebih besar. Oleh karena itu, dokumen mungkin mencetak secara berbeda jika resolusi yang berbeda digunakan.

Di Windows Vista, jika GPD menentukan atribut UseImageForHatchBrush? , Unidrv merender kuas palka ke permukaan bitmap dan kemudian mengirim bitmap tersebut ke perangkat. Unidrv, oleh karena itu, memiliki beberapa kontrol tentang bagaimana kuas palka dirender.

ReverseBandOrder?

Atribut ReverseBandOrder? menggunakan sintaks GPD berikut.

*Ifdef: WINNT_60
*ReverseBandOrder?: TRUE
*Endif: WINNT_60 

Nilai ReverseBandOrder?TRUE atau FALSE untuk menunjukkan apakah pemilahan terbalik diaktifkan. Atribut ini menyebabkan banding terjadi dalam urutan terbalik. Misalnya, untuk halaman potret, pemalsuan terjadi dari bawah ke atas alih-alih atas ke bawah.

Atribut ini pada dasarnya sama dengan ReverseBandOrderForEvenPages?, kecuali bahwa ReverseBandOrder? dianggap bahkan jika dupleks tidak aktif (ReverseBandOrderForEvenPages? hanya berfungsi jika dupleks AKTIF), dan berfungsi untuk semua halaman (ReverseBandOrderForEvenPages? hanya berfungsi pada halaman genap). Untuk detail tentang cara menggunakan ReverseBandOrder? dan informasi terkait lainnya, lihat *ReverseBandOrderForEvenPages?. Terutama perhatikan bahwa plug-in harus membalikkan garis pemindaian dan bit di baris pemindaian.

Anda dapat menggunakan kombinasi *ReverseBandOrderForEvenPages? dan *ReverseBandOrder?.

Ketika hanya ReverseBandOrder? yang diatur ke TRUE, pemalsuan akan dibalik untuk semua halaman.

Ketika hanya ReverseBandOrderForEvenPages? yang diatur ke TRUE, pita akan dibalik untuk pagesonly bahkan jika printer mencetak dupleks. Jika dupleks tidak diatur, pengaturan ReverseBandOrderForEvenPages? diabaikan.

Ketika ReverseBandOrder? dan ReverseBandOrderForEvenPages? diatur, hal berikut ini terjadi:

  • Jika dupleks AKTIF, banding terbalik dilakukan untuk halaman ganjil (yaitu, 1, 3, 5, 7, dan seterusnya).

  • Jika dupleks NONAKTIF, reverse banding dilakukan untuk semua halaman.

BidiQueryFile

Atribut BidiQueryFile menggunakan sintaks GPD berikut.

*BidiQueryFile: <GPD or GDL file name>

Gunakan BidiQueryFile untuk menentukan nama file GPD atau GDL yang berisi data BidiQuery atau BidiResponse konfigurasi otomatis driver printer. Nama file GPD atau GDL tidak boleh menentukan jalur apa pun. Jika data konfigurasi otomatis terkandung dalam file GPD DataFile driver, Anda juga dapat menentukan file GPD tersebut sebagai nilai atribut BidiQueryFile .

Contoh kode berikut menunjukkan contoh atribut ini dalam file GPD parsial.

*Ifdef: WINNT_60
*BidiQueryFile: "ACnfgUni.GDL"
*Endif: WINNT_60