Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini tidak terkini. Untuk informasi terbaru, lihat Spesifikasi Skema Cetak.
Pertimbangan utama saat Anda menentukan Opsi adalah melakukannya sedih sehingga dapat bermakna dibandingkan dengan instans Opsi lain yang terkandung dalam Fitur yang sama. Perbandingan harus bermakna karena instans Opsi digunakan untuk menentukan konfigurasi bukan hanya perangkat, tetapi dari pekerjaan, terlepas dari perangkat atau PrintCapabilities yang digunakan untuk membuat konfigurasi. Instans Opsi lainnya dalam Fitur dapat muncul baik dalam dokumen PrintCapabilities yang sama, atau di dokumen PrintCapabilities lain yang mewakili perangkat lain, dokumen PrintCapabilities yang didefinisikan oleh pihak lain yang bekerja secara independen. Setelah klien memilih konfigurasi perangkat yang akan digunakan untuk merender pekerjaan atau dokumen, konfigurasi tersebut biasanya disimpan, bersama dengan pekerjaan atau dokumen, dalam bentuk PrintTicket. PrintTicket berisi sekumpulan instans Opsi, biasanya satu untuk setiap Fitur yang ditentukan dalam dokumen PrintCapabilities. Instans opsi harus portabel dan harus mempertahankan niat pencetakan, sehingga niat dapat dikomunikasikan ketika PrintTicket ini diberikan ke perangkat yang berbeda, bahkan yang memiliki dokumen PrintCapabilities berbeda yang ditulis oleh penulis yang berbeda. Manfaat utama portabilitas ini adalah bahwa jika perangkat yang berbeda tidak secara khusus mendukung Opsi yang terkandung dalam PrintTicket, driver perangkat atau subsistem dapat mengidentifikasi dan memilih Opsi yang paling dekat dalam fungsionalitas.
Salah satu fungsi PrintTicket utama driver adalah mengidentifikasi Opsi perangkat dalam dokumen PrintCapabilities yang paling cocok dengan Opsi tertentu yang tercantum di PrintTicket. Selama proses pencocokan ini atau pengandar perangkat yang ditentukan, Opsi di PrintTicket disebut sebagai referensi Opsi, sementara Opsi dalam dokumen PrintCapabilities disebut sebagai opsi kandidat. Metrik pencocokan umum adalah jumlah instans ScoredProperty yang cocok dalam instans Opsi kandidat dan referensi; jumlah kecocokan yang lebih besar biasanya menunjukkan pelestarian niat pencetakan yang lebih baik. Dalam proses penilaian Anda, Anda dapat memilih untuk memberikan bobot yang lebih besar untuk beberapa elemen ScoredProperty daripada yang lain.
Anda dapat membuat instans Opsi portabel dengan memastikan bahwa semua instans Opsi milik Fitur yang sama memiliki satu atau beberapa elemen ScoredProperty yang sama. Ini berarti bahwa ada sekumpulan elemen ScoredProperty yang muncul di setiap instans Option (milik Fitur yang sama). Misalnya, Instans Opsi untuk Fitur PageMediaSize dapat portabel jika setiap instans Opsi berisi elemen ScoredProperty yang menentukan properti PageMediaSize intrinsik: MediaSizeWidth dan MediaSizeHeight. Driver perangkat atau kode subsistem kemudian dapat menentukan seberapa dekat dua instans Opsi setuju dengan membandingkan perbedaan dalam nilai ScoredProperty ini. Jika tidak ada Opsi dalam dokumen PrintCapabilities yang sama persis dengan yang ada di PrintTicket, driver perangkat dapat dengan mudah menentukan dan memilih Opsi yang memiliki dimensi media yang paling cocok.
Dua objek (Instans opsi dalam kasus ini) dikatakan memiliki elemen yang sama, atau secara setara, memiliki elemen yang sesuai, jika tiga kondisi berikut terpenuhi.
Dua elemen tersebut memiliki jenis elemen yang sama.
Atribut nama dari dua elemen identik (atau tidak ada elemen yang berisi atribut nama).
Rantai induk elemen yang dibandingkan, hingga dua objek yang sedang dipertimbangkan, harus memenuhi kondisi 1 dan 2.
Misalnya, pertimbangkan situasi di mana ada dua instans Opsi, di mana masing-masing berisi instans ScoredProperty, dan bahwa masing-masing instans ScoredProperty ini berisi instans Properti. Jelas, kondisi pertama terpenuhi (dua instans Properti adalah jenis yang sama), dan bagian dari kondisi ketiga terpenuhi (induk instans Properti adalah jenis yang sama, ScoredProperty, dan induk elemen tersebut adalah instans Opsi, yang juga memiliki jenis yang sama). Jika atribut nama, masing-masing, instans Properti, instans ScoredProperty, dan instans Opsi identik atau tidak disediakan, dua instans Opsi memiliki elemen yang sama.
Dari hal tersebut di atas, langkah pertama dalam membuat instans Opsi adalah menentukan sekumpulan elemen ScoredProperty yang ada di sebagian besar atau semua instans Opsi. Jika atribut konfigurasi perangkat Anda dapat diwakili oleh Fitur standar (yang tercantum dalam Kata Kunci Skema Cetak), perhatikan elemen ScoredProperty yang sama dalam instans Opsi standar. Anda harus memastikan bahwa setiap instans Opsi baru yang Anda perkenalkan juga berisi elemen ScoredProperty ini. Anda selalu bebas untuk menambahkan elemen ScoredProperty tambahan sesuai kebutuhan untuk membedakan instans Opsi Anda dari instans Opsi standar. Anda bahkan dapat menghapus satu atau beberapa elemen ScoredProperty secara umum jika ada alasan yang baik, meskipun itu mengurangi portabilitas Opsi tersebut. Tentu saja, pertimbangan portabilitas menyarankan penggunaan instans Opsi standar yang tidak dimodifikasi kecuali ada beberapa perbedaan intrinsik antara Opsi Anda dan instans Opsi standar yang harus tercermin dalam instans Opsi baru.
Contoh berikut mengilustrasikan situasi di mana Anda mungkin ingin menambahkan elemen ScoredProperty ke instans Option. Semua instans Opsi standar untuk Fitur PageMediaSize memiliki elemen MediaSizeWidth dan MediaSizeHeight ScoredProperty yang sama. Misalkan perangkat Anda dapat mendukung salah satu ukuran media Letter standar dengan memberi makan kertas secara transverse (LongEdgeFirst) atau longitudinally (ShortEdgeFirst). Dengan asumsi bahwa Anda tidak ingin memperkenalkan arah umpan baru Fitur untuk mengekspos tingkat kebebasan ini, Anda dapat memodifikasi dua instans Opsi PageMediaSize untuk Letter untuk menggabungkan orientasi umpan kertas. Untuk kedua instans Opsi Huruf ini, mulailah dengan instans Opsi PageMediaSize standar dan tambahkan elemen ScoredProperty baru untuk mewakili FeedDirection. Dalam satu instans Opsi, atur FeedDirection ScoredProperty ke LongEdgeFirst; di instans Opsi lainnya, atur FeedDirection ke ShortEdgeFirst. Perhatikan bahwa instans Opsi baru ini mempertahankan portabilitasnya. Jika Opsi yang mewakili Huruf, ShortEdgeFirst disimpan ke PrintTicket dan perangkat lain yang hanya mendukung Opsi standar Huruf dipilih untuk merender Pekerjaan, kode Pencocokan Opsi dapat dengan cepat menentukan bahwa Huruf Opsi standar paling cocok dengan Huruf Opsi, ShortEdgeFirst. Alasan bahwa ini adalah kecocokan terbaik adalah bahwa semua instans ScoredProperty setuju, dengan pengecualian FeedDirection ScoredProperty, yang tidak ada dalam Opsi standar Huruf.
Anda mungkin juga mengalami kasus di mana modifikasi pada Opsi benar-benar mengubah arti sehingga Opsi yang dimodifikasi tidak dapat lagi dianggap sebagai kasus khusus dari aslinya. Dalam kasus seperti itu, Anda harus mengubah nama Opsi untuk mencerminkan perbedaan antara instans Opsi yang dimodifikasi dan yang tidak dimodifikasi. Hanya penulis dokumen PrintCapabilities untuk perangkat tertentu yang dapat memutuskan apakah Opsi yang ditawarkan oleh perangkat cukup berbeda dari instans Opsi standar untuk menjamin definisi yang tidak kompatibel.
Sekarang pertimbangkan kasus di mana perangkat Anda memiliki atribut konfigurasi perangkat yang tidak sesuai dengan instans Fitur standar apa pun. Dalam hal ini Anda tidak dapat mengandalkan instans Opsi standar untuk memberikan daftar elemen ScoredProperty secara umum. Saat Anda membuat instans ScoredProperty, tujuan utama Anda adalah membedakan setiap Opsi dari opsi lainnya di Fitur, dan menjelaskan mengapa pengguna akan memilih satu Opsi di atas opsi lainnya. Garis besarnya adalah mencirikan setiap Opsi dengan atribut nama unik, dan ScoredProperty yang menyimpan atribut nama menjadi yang digunakan untuk menentukan elemen yang sama.
Setelah serangkaian elemen ScoredProperty yang sama telah dibuat, masalah sederhana untuk menetapkan nilai yang sesuai ke setiap ScoredProperty untuk membuat setiap Opsi. Seperti dalam contoh sebelumnya, untuk instans Opsi tertentu, Anda mungkin perlu menambahkan instans ScoredProperty tambahan atau menghapus beberapa elemen yang sama untuk membuat instans Opsi yang sesuai.
Perlu dicatat bahwa Skema Cetak mengharuskan set instans ScoredProperty, lokasinya, dan nilai yang ditetapkan ke setiap ScoredProperty dalam Opsi harus tetap konstan, tidak bergantung pada konfigurasi. Seluruh konsep Skema Cetak bergantung pada instans Opsi yang memiliki instans Properti tetap, dapat diidentifikasi, dan ScoredProperty yang dibagikan di banyak perangkat.
Topik terkait