Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот раздел не является текущим. Последние сведения см. в спецификации схемы печати.
Ключевое внимание при определении параметра заключается в том, чтобы сделать это таким образом, чтобы оно было понятно по сравнению с другими экземплярами Option, содержащимися в той же функции. Сравнение должно быть значимым, так как экземпляр Option используется для определения конфигурации не только устройства, но и задания, независимо от устройства или PrintCapabilities, которые использовались для создания конфигурации. Другие экземпляры option в компоненте могут отображаться либо в том же документе PrintCapabilities, либо в другом документе PrintCapabilities, представляющего другое устройство, документ PrintCapabilities, определенный другой стороной, работающей независимо. После выбора конфигурации устройства, используемой для отрисовки задания или документа, эта конфигурация обычно сохраняется вместе с заданием или документом в виде PrintTicket. PrintTicket содержит набор экземпляров Option, как правило, по одному для каждой функции, определенной в документе PrintCapabilities. Экземпляры параметров должны быть переносимыми и должны сохранять намерение печати, чтобы намерение можно было взаимодействовать при получении этого объекта PrintTicket другому устройству, даже в другом документе PrintCapabilities, написанном другим автором. Основное преимущество этой переносимости заключается в том, что если другое устройство не поддерживает параметр, содержащийся в PrintTicket, драйвер устройства или подсистема может определить и выбрать параметр, который является ближайшим в функциональности.
Одним из основных функций PrintTicket драйвера является определение параметра устройства в документе PrintCapabilities, который наиболее тесно соответствует конкретному параметру, указанному в PrintTicket. Во время этого сопоставления или драйвера устройства, определяемого процессом оценки, параметр в PrintTicket называется параметром ссылки, а параметр в документе PrintCapabilities называется вариантом кандидата. Общая метрика сопоставления — это количество совпадающих экземпляров ScoredProperty в экземплярах кандидата и ссылочного параметра; Большее количество совпадений обычно указывает на лучшее сохранение намерения печати. В процессе оценки вы можете дать больший вес некоторым элементам ScoredProperty, чем другим.
Вы можете сделать экземпляры Option переносимыми, гарантируя, что все экземпляры Option, принадлежащие одному компоненту, имеют один или несколько элементов ScoredProperty в общих. Это означает, что существует набор элементов ScoredProperty, отображаемых в каждом экземпляре Option (принадлежащий одному компоненту). Например, экземпляры Option для компонента PageMediaSize можно переносить, если каждый экземпляр Option содержит элементы ScoredProperty, определяющие встроенные свойства PageMediaSize: MediaSizeWidth и MediaSizeHeight. Затем код драйвера устройства или подсистемы может определить, насколько тесно два экземпляра Option согласуются, сравнивая различия в этих значениях ScoredProperty. Если в документе PrintCapabilities отсутствует параметр, который точно соответствует одному в PrintTicket, драйвер устройства может легко определить и выбрать параметр, имеющий ближайшие соответствующие измерения мультимедиа.
Два объекта (экземпляры Option в данном случае), как говорят, имеют элементы в общихили эквивалентно имеют соответствующие элементы, если выполнены следующие три условия.
Два элемента имеют одинаковый тип элемента.
Атрибуты имени двух элементов идентичны (или ни одно из элементов не содержит атрибут имени).
Цепочка родителей элементов, сравниваемых до двух объектов, должна соответствовать условиям 1 и 2.
Например, рассмотрим ситуацию, в которой есть два экземпляра Option, где каждый содержит экземпляр ScoredProperty, и что каждый из этих экземпляров ScoredProperty содержит экземпляр свойства. Очевидно, что первое условие удовлетворено (два экземпляра свойства являются одинаковым типом), и часть третьего условия удовлетворена (родители экземпляров свойств являются одинаковыми типами, ScoredProperty, и родители этих элементов являются экземплярами Option, которые также относятся к одному типу). Если атрибуты имен соответственно экземпляры свойств, экземпляры ScoredProperty и экземпляры Option идентичны или не предоставлены, два экземпляра Option имеют общие элементы.
На первом этапе создания экземпляров Option необходимо определить набор элементов ScoredProperty, присутствующих в большинстве экземпляров Option. Если атрибут конфигурации устройства может быть представлен стандартным компонентом (один из них указан в ключевых словах схемы печати), обратите внимание на элементы ScoredProperty, распространенные в стандартных экземплярах Option. Необходимо убедиться, что все новые экземпляры Option, которые вы вводите, также содержат эти элементы ScoredProperty. Вы всегда можете добавлять дополнительные элементы ScoredProperty, чтобы отличить экземпляры Option от стандартных экземпляров Option. Вы можете даже удалить один или несколько элементов ScoredProperty в общем случае, если есть хорошая причина, хотя это снижает переносимость такого параметра. Конечно, рекомендации по переносимости предполагают использование неизмененных экземпляров стандартных вариантов, если только не существует некоторой внутренней разницы между вариантом и стандартным экземпляром Option, который должен отражаться в новом экземпляре Option.
В следующем примере показана ситуация, для которой может потребоваться добавить элемент ScoredProperty в экземпляр Option. Все стандартные экземпляры option для компонента PageMediaSize имеют элементы MediaSizeWidth и MediaSizeHeight ScoredProperty в общих случаях. Предположим, что устройство может поддерживать один из стандартных размеров носителей Letter, питая бумагу поперечно (LongEdgeFirst) или продольно (ShortEdgeFirst). Предположим, что вы не хотите вводить новый компонент направления канала для предоставления этой степени свободы, вы можете вместо этого изменить два экземпляра PageMediaSize Option для Буквы, чтобы включить ориентацию канала бумаги. Для этих двух экземпляров параметра "Буква" начните со стандартного экземпляра PageMediaSize Option и добавьте новый элемент ScoredProperty для представления FeedDirection. В одном экземпляре параметра задайте значение FeedDirection ScoredProperty в LongEdgeFirst; в другом экземпляре option задайте для FeedDirection значение ShortEdgeFirst. Обратите внимание, что эти новые экземпляры Option поддерживают переносимость. Если параметр, представляющий букву, ShortEdgeFirst сохраняется в PrintTicket и другое устройство, поддерживающее только стандартный параметр "Буква", выбрано для отрисовки задания, код сопоставления параметров может быстро определить, что стандартная буква параметра является лучшим соответствием с параметром", ShortEdgeFirst. Причина в том, что это лучшее совпадение заключается в том, что все экземпляры ScoredProperty согласны, за исключением FeedDirection ScoredProperty, который не существует в стандартном параметре "Буква".
Также могут возникнуть случаи, когда изменения параметра фактически изменяют значение так много, что измененный параметр больше не может считаться специализированным случаем исходного. В таких случаях необходимо изменить имя параметра, чтобы отразить разницу между измененным экземпляром Option и неизмененных. Только автор документа PrintCapabilities для конкретного устройства может решить, отличается ли параметр, предлагаемый устройством, достаточно отличается от стандартного экземпляра Option, чтобы гарантировать несовместимое определение.
Теперь рассмотрим ситуацию, когда у устройства есть атрибут конфигурации устройства, который не соответствует ни одному из стандартных экземпляров компонентов. В этом случае нельзя полагаться на стандартные экземпляры Option, чтобы предоставить список элементов ScoredProperty в общих случаях. При создании экземпляра ScoredProperty основная цель состоит в том, чтобы отличить каждый параметр от других в компоненте, а также описать, почему пользователь выберет один вариант для другого. Базовый план состоит в том, чтобы охарактеризовать каждый параметр с уникальным атрибутом имени, и ScoredProperty, который содержит атрибут имени, становится одним, используемым для определения элементов в общем.
После того как набор элементов ScoredProperty в общей среде установлен, это простой вопрос для назначения соответствующих значений каждому ScoredProperty для создания каждого параметра. Как и в предыдущем примере, для определенных экземпляров Option может потребоваться добавить дополнительные экземпляры ScoredProperty или удалить некоторые элементы, как правило, для создания соответствующего экземпляра Option.
Следует отметить, что схема печати требует, чтобы набор экземпляров ScoredProperty, их расположения и значения, назначенные каждому ScoredProperty в параметре, должны оставаться постоянными, независимо от конфигурации. Вся концепция схемы печати зависит от экземпляров Option с фиксированными, определяемыми экземплярами Свойств и ScoredProperty, общими для многих устройств.
Связанные разделы