Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico não é atual. Para obter as informações mais atuais, consulte o especificação de esquema de impressão.
A principal consideração ao definir uma opção é fazer isso de forma que ela possa ser significativamente comparada com outras instâncias de opção contidas no mesmo recurso. A comparação deve ser significativa porque a instância option é usada para definir a configuração não apenas do dispositivo, mas do trabalho, independentemente do dispositivo ou printCapabilities que foram usados para criar a configuração. As outras instâncias de Opção no Recurso podem aparecer no mesmo documento PrintCapabilities ou em outro documento PrintCapabilities que representa um dispositivo diferente, um documento PrintCapabilities definido por outra parte trabalhando de forma independente. Depois que um cliente seleciona a configuração do dispositivo a ser usada para renderizar um trabalho ou documento, essa configuração normalmente é salva, juntamente com o trabalho ou documento, na forma de um PrintTicket. O PrintTicket contém um conjunto de instâncias de opção, normalmente uma para cada recurso definido no documento PrintCapabilities. As instâncias de opção devem ser portáteis e devem preservar a intenção de impressão, para que a intenção possa ser comunicada quando este PrintTicket for dado a um dispositivo diferente, mesmo um que tenha um documento PrintCapabilities diferente que foi escrito por um autor diferente. O principal benefício dessa portabilidade é que, se um dispositivo diferente não der suporte especificamente a uma opção contida no PrintTicket, o driver do dispositivo ou subsistema poderá identificar e selecionar a opção mais próxima da funcionalidade.
Uma das principais funções PrintTicket do driver é identificar a opção do dispositivo no documento PrintCapabilities que corresponde mais de perto a uma opção específica listada no PrintTicket. Durante esse processo de pontuação definido pelo driver de dispositivo ou correspondente, a opção no PrintTicket é conhecida como o referência Option, enquanto a opção no documento PrintCapabilities é conhecida como o opção de candidato. A métrica de correspondência geral é o número de instâncias scoredProperty correspondentes nas instâncias de opção de referência e candidata; um número maior de correspondências geralmente indica melhor preservação da intenção de impressão. Em seu processo de pontuação, você pode optar por dar maior peso a alguns elementos ScoredProperty do que a outros.
Você pode tornar as instâncias de opção portáteis, garantindo que todas as instâncias de opção que pertencem ao mesmo recurso tenham um ou mais elementos ScoredProperty em comum. Isso significa que há um conjunto de elementos ScoredProperty que aparece em cada instância de opção (pertencente ao mesmo recurso). Por exemplo, as instâncias de opção para o recurso PageMediaSize poderão ser portáteis se cada instância de opção contiver elementos ScoredProperty que definem as propriedades intrínsecas pageMediaSize: MediaSizeWidth e MediaSizeHeight. O código do driver ou do subsistema do dispositivo pode determinar o quão próximas duas instâncias de opção concordam comparando as diferenças nesses valores scoredProperty. Se não houver nenhuma opção no documento PrintCapabilities que corresponda exatamente à do PrintTicket, o driver do dispositivo poderá determinar e selecionar facilmente a opção que tem as dimensões de mídia correspondentes mais próximas.
Dizem que dois objetos (instâncias de opção neste caso) têm elementos emcomuns ou, equivalentemente, têm elementos correspondentes, se as três condições a seguir forem atendidas.
Os dois elementos são do mesmo tipo de elemento.
Os atributos de nome dos dois elementos são idênticos (ou nenhum dos elementos contém um atributo de nome).
A cadeia de pais dos elementos que estão sendo comparados, até os dois objetos em consideração, deve atender às condições 1 e 2.
Por exemplo, considere uma situação em que há duas instâncias de opção, em que cada uma contém uma instância de ScoredProperty e que cada uma dessas instâncias do ScoredProperty contém uma instância de Propriedade. Claramente, a primeira condição é atendida (as duas instâncias de propriedade são do mesmo tipo) e parte da terceira condição é atendida (os pais das instâncias de Propriedade são do mesmo tipo, ScoredProperty e os pais desses elementos são as instâncias option, que também são do mesmo tipo). Se os atributos de nome de, respectivamente, as instâncias de Propriedade, as instâncias ScoredProperty e as instâncias option forem idênticos ou não forem fornecidos, as duas instâncias de opção terão elementos em comum.
No anterior, a primeira etapa na criação de instâncias de opção é definir um conjunto de elementos ScoredProperty presentes na maioria ou em todas as instâncias de Opção. Se o atributo de configuração do dispositivo puder ser representado por um recurso padrão (um listado nas palavras-chave do esquema de impressão), observe os elementos ScoredProperty em comum nas instâncias de opção padrão. Você deve garantir que todas as novas instâncias de Opção que você introduzir também contenham esses elementos ScoredProperty. Você sempre é livre para adicionar elementos ScoredProperty adicionais conforme necessário para diferenciar suas instâncias de opção das instâncias de opção padrão. Você pode até mesmo excluir um ou mais dos elementos ScoredProperty em comum se houver um bom motivo, embora isso reduza a portabilidade de tal opção. É claro que considerações de portabilidade sugerem o uso das instâncias padrão de opção não modificadas, a menos que haja alguma diferença intrínseca entre sua opção e a instância de opção padrão que deve ser refletida na nova instância de opção.
O exemplo a seguir ilustra uma situação para a qual talvez você queira adicionar um elemento ScoredProperty a uma instância de Opção. Todas as instâncias de opção padrão para o recurso PageMediaSize têm os elementos MediaSizeWidth e MediaSizeHeight ScoredProperty em comum. Suponha que seu dispositivo possa dar suporte a um dos tamanhos de mídia de letra padrão alimentando o papel transversamente (LongEdgeFirst) ou longitudinally (ShortEdgeFirst). Supondo que você não deseja introduzir um novo recurso de direção de feed para expor esse grau de liberdade, você pode modificar as duas instâncias da Opção PageMediaSize para Carta para incorporar a orientação do feed de papel. Para essas duas instâncias de Opção de Carta, comece com a instância padrão da Opção PageMediaSize e adicione um novo elemento ScoredProperty para representar o FeedDirection. Em uma instância de opção, defina o FeedDirection ScoredProperty como LongEdgeFirst; na outra instância de opção, defina FeedDirection como ShortEdgeFirst. Observe que essas novas instâncias de opção mantêm sua portabilidade. Se a opção que representa a Letra, ShortEdgeFirst for salva em um PrintTicket e um dispositivo diferente que dê suporte apenas à opção padrão Carta estiver selecionada para renderizar o Trabalho, o código de correspondência de opção poderá determinar rapidamente que a Letra de Opção padrão é a melhor correspondência com a Letra de Opção, ShortEdgeFirst. O motivo pelo qual essa é a melhor correspondência é que todas as instâncias de ScoredProperty concordam, com exceção do FeedDirection ScoredProperty, que não existe na opção padrão Letra.
Você também pode encontrar casos em que as modificações na Opção realmente alteram o significado tanto que a opção modificada não pode mais ser considerada um caso especializado do original. Nesses casos, você deve alterar o nome da Opção para refletir a diferença entre a instância de Opção modificada e a não modificada. Somente o autor do documento PrintCapabilities para um determinado dispositivo pode decidir se a opção oferecida pelo dispositivo difere o suficiente de uma instância de opção padrão para garantir uma definição incompatível.
Agora considere o caso em que seu dispositivo tem um atributo de configuração de dispositivo que não corresponde a nenhuma das instâncias de recurso padrão. Nesse caso, você não pode contar com as instâncias de opção padrão para fornecer a lista de elementos ScoredProperty em comum. Quando você cria uma instância do ScoredProperty, seu objetivo principal é diferenciar cada opção das outras no Recurso e descrever por que um usuário selecionaria uma opção em vez de outra. A linha de base é caracterizar cada Opção com um atributo de nome exclusivo, e o ScoredProperty que contém o atributo de nome torna-se o usado para determinar elementos em comum.
Depois que um conjunto de elementos ScoredProperty em comum tiver sido estabelecido, é uma questão simples atribuir valores apropriados a cada ScoredProperty para criar cada opção. Como no exemplo anterior, para determinadas instâncias de opção, talvez seja necessário adicionar instâncias adicionais do ScoredProperty ou excluir alguns dos elementos em comum para criar uma instância de opção apropriada.
Observe que o Esquema de Impressão requer que o conjunto de instâncias ScoredProperty, seus locais e os valores atribuídos a cada ScoredProperty em uma opção permaneçam constantes, independentemente da configuração. Todo o conceito do Esquema de Impressão depende de instâncias de opção terem instâncias de Propriedade e ScoredProperty fixas e identificáveis que são compartilhadas em muitos dispositivos.
Tópicos relacionados