Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique n’est pas actuelle. Pour plus d’informations, consultez la spécification de schéma d’impression.
L’élément clé à prendre en compte lorsque vous définissez une option consiste à le faire de telle sorte qu’elle puisse être significativement comparée à d’autres instances d’option contenues dans la même fonctionnalité. La comparaison doit être significative, car l’instance d’option est utilisée pour définir la configuration non seulement de l’appareil, mais du travail, indépendamment de l’appareil ou printCapabilities utilisé pour créer la configuration. Les autres instances d’option de la fonctionnalité peuvent apparaître dans le même document PrintCapabilities ou dans un autre document PrintCapabilities qui représente un autre appareil, un document PrintCapabilities défini par un autre groupe fonctionnant indépendamment. Une fois qu’un client sélectionne la configuration de l’appareil à utiliser pour afficher un travail ou un document, cette configuration est généralement enregistrée, ainsi que le travail ou le document, sous la forme d’un PrintTicket. PrintTicket contient un ensemble d’instances d’option, généralement un pour chaque fonctionnalité définie dans le document PrintCapabilities. Les instances d’option doivent être portables et doivent conserver l’intention d’impression, afin que l’intention puisse être communiquée lorsque ce PrintTicket est donné à un autre appareil, même un document PrintCapabilities différent qui a été écrit par un autre auteur. L’avantage principal de cette portabilité est que si un autre appareil ne prend pas spécifiquement en charge une option contenue dans printTicket, le pilote de périphérique ou le sous-système est en mesure d’identifier et de sélectionner l’option la plus proche dans les fonctionnalités.
L’une des principales fonctions printTicket du pilote consiste à identifier l’option d’appareil dans le document PrintCapabilities qui correspond le plus étroitement à une option particulière répertoriée dans printTicket. Pendant ce processus de scoring défini par le pilote de correspondance ou de périphérique, l’option dans printTicket est appelée option de référence, tandis que l’option dans le document PrintCapabilities est appelée option candidat. La métrique de correspondance générale est le nombre d’instances ScoredProperty correspondantes dans les instances candidate et option de référence ; un plus grand nombre de correspondances indique généralement une meilleure conservation de l’intention d’impression. Dans votre processus de scoring, vous pouvez choisir de donner plus de poids à certains éléments ScoredProperty que d’autres.
Vous pouvez rendre les instances d’option portables en veillant à ce que toutes les instances d’option appartenant à la même fonctionnalité aient un ou plusieurs éléments ScoredProperty en commun. Cela signifie qu’il existe un ensemble d’éléments ScoredProperty qui apparaissent dans chaque instance d’option (appartenant au même composant fonctionnel). Par exemple, les instances d’option pour la fonctionnalité PageMediaSize peuvent être portables si chaque instance d’option contient des éléments ScoredProperty qui définissent les propriétés Intrinsèques de PageMediaSize : MediaSizeWidth et MediaSizeHeight. Le code du pilote de périphérique ou du sous-système peut ensuite déterminer la manière dont deux instances d’option sont d’accord en comparant les différences de ces valeurs ScoredProperty. S’il n’existe aucune option dans le document PrintCapabilities qui correspond exactement à celui de PrintTicket, le pilote de périphérique peut facilement déterminer et sélectionner l’option qui a les dimensions multimédias correspondantes les plus proches.
Deux objets (instances d’option dans ce cas) sont dits avoir des éléments en commun, ou équivalent, ont éléments correspondants, si les trois conditions suivantes sont satisfaites.
Les deux éléments sont du même type d’élément.
Les attributs de nom des deux éléments sont identiques (ou aucun élément ne contient d’attribut de nom).
La chaîne de parents des éléments comparés, jusqu’aux deux objets en considération, doit satisfaire aux conditions 1 et 2.
Par exemple, considérez une situation dans laquelle il existe deux instances d’option, où chacune contient une instance ScoredProperty et que chacune de ces instances ScoredProperty contient une instance de propriété. Clairement, la première condition est satisfaite (les deux instances de propriété sont le même type) et une partie de la troisième condition est satisfaite (les parents des instances property sont le même type, ScoredProperty et les parents de ces éléments sont les instances d’option, qui sont également du même type). Si les attributs de nom des instances property, les instances ScoredProperty et les instances d’option sont identiques ou ne sont pas fournies, les deux instances d’option ont des éléments en commun.
À partir de ce qui précède, la première étape de la création d’instances d’option consiste à définir un ensemble d’éléments ScoredProperty présents dans la plupart ou dans toutes les instances d’option. Si l’attribut de configuration de votre appareil peut être représenté par une fonctionnalité standard (une répertoriée dans les mots clés de schéma d’impression), notez les éléments ScoredProperty courants dans les instances d’option standard. Vous devez vous assurer que toutes les nouvelles instances d’option que vous introduisez contiennent également ces éléments ScoredProperty. Vous êtes toujours libre d’ajouter des éléments ScoredProperty supplémentaires si nécessaire pour différencier vos instances d’option des instances d’option standard. Vous pouvez même supprimer un ou plusieurs éléments ScoredProperty en commun s’il existe une bonne raison, bien que cela réduit la portabilité d’une telle option. Bien entendu, les considérations relatives à la portabilité suggèrent d’utiliser les instances d’option standard non modifiées, sauf s’il existe une différence intrinsèque entre votre option et l’instance d’option standard qui doit être reflétée dans la nouvelle instance d’option.
L’exemple suivant illustre une situation pour laquelle vous souhaiterez peut-être ajouter un élément ScoredProperty à une instance Option. Toutes les instances d’option standard pour la fonctionnalité PageMediaSize ont les éléments MediaSizeWidth et MediaSizeHeight ScoredProperty en commun. Supposons que votre appareil puisse prendre en charge l’une des tailles de supports de lettre standard en alimentant le papier de manière transverse (LongEdgeFirst) ou longedgefirst (ShortEdgeFirst). En supposant que vous ne souhaitez pas introduire une nouvelle fonctionnalité de direction de flux pour exposer ce degré de liberté, vous pouvez modifier les deux instances d’option PageMediaSize pour que la lettre incorpore l’orientation du flux papier. Pour ces deux instances d’option de lettre, commencez par l’instance d’option PageMediaSize standard et ajoutez un nouvel élément ScoredProperty pour représenter FeedDirection. Dans une instance d’option, définissez FeedDirection ScoredProperty sur LongEdgeFirst ; dans l’autre instance d’option, définissez FeedDirection sur ShortEdgeFirst. Notez que ces nouvelles instances d’option conservent leur portabilité. Si l’option représentant la lettre, ShortEdgeFirst est enregistrée dans un PrintTicket et un autre appareil qui prend en charge uniquement l’option standard de lettre est sélectionnée pour afficher le travail, le code correspondant à l’option peut rapidement déterminer que la lettre d’option standard correspond le mieux à la lettre d’option, ShortEdgeFirst. La raison pour laquelle il s’agit de la meilleure correspondance est que toutes les instances ScoredProperty sont d’accord, à l’exception de FeedDirection ScoredProperty, qui n’existe pas dans l’option standard de lettre.
Vous pouvez également rencontrer des cas où les modifications apportées à l’option modifient réellement la signification tellement que l’option modifiée ne peut plus être considérée comme un cas spécialisé de l’original. Dans ce cas, vous devez modifier le nom de l’option pour refléter la différence entre l’instance d’option modifiée et l’instance d’option non modifiée. Seul l’auteur du document PrintCapabilities pour un appareil particulier peut décider si l’option proposée par l’appareil diffère suffisamment d’une instance d’option standard pour justifier une définition incompatible.
Considérez maintenant le cas où votre appareil a un attribut de configuration d’appareil qui ne correspond à aucune des instances de fonctionnalité standard. Dans ce cas, vous ne pouvez pas compter sur les instances d’option standard pour fournir la liste des éléments ScoredProperty en commun. Lorsque vous créez une instance ScoredProperty, votre objectif principal est de différencier chaque option des autres dans la fonctionnalité et de décrire pourquoi un utilisateur sélectionnerait une option sur une autre. La ligne de base consiste à caractériser chaque option avec un attribut de nom unique, et scoredProperty qui contient l’attribut de nom devient celui utilisé pour déterminer les éléments en commun.
Une fois qu’un ensemble d’éléments ScoredProperty en commun a été établi, il est simple d’affecter des valeurs appropriées à chaque scoredProperty pour créer chaque option. Comme dans l’exemple précédent, pour certaines instances d’option, vous devrez peut-être ajouter des instances ScoredProperty supplémentaires ou supprimer certains des éléments en commun pour créer une instance d’option appropriée.
Notez que le schéma d’impression nécessite que l’ensemble d’instances ScoredProperty, leurs emplacements et les valeurs affectées à chaque ScoredProperty dans une option restent constantes, indépendamment de la configuration. Le concept complet du schéma d’impression s’appuie sur les instances d’option ayant des instances de propriété fixes, identifiables et scoredProperty partagées sur de nombreux appareils.
Rubriques connexes