BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Windows 8 Metro trará interface gráfica extensível para impressão

Windows 8 Metro trará interface gráfica extensível para impressão

O Windows 8 Metro está trazendo mudanças em muitas áreas, incluindo a área de impressão. Construindo sobre o conceito Charm, há uma nova API e uma interface com o usuário extensível, para a impressão. A API é disponibilizada tanto através de XAML como em aplicações baseadas em JavaScript.

O suporte a impressoras sempre um destaque do Windows e é citado como um das principais razões para o Windows ter ganhado do sistema operacional OS/2 da IBM. No entanto, os aspectos de interface gráfica não têm recebido apoio esperado da Microsoft, e cada aplicação terminava por criar suas próprias telas para acesso a funcionalidades de impressão.

Um problema é a caixa de diálogo padrão oferecida pelo .NET. Embora esta janela seja adequada para programas básicos, ela oferece poucas possibilidades de extensão. Desenvolvedores com necessidade de fazer qualquer coisa fora do padrão terminam por criar suas telas a partir do zero. Com o Metro, porém, opções de impressão específicas à aplicação são expostas através da classe PrintTaskAdvancedOptions, que pode ser estendida através de campos de texto e listas de opções, permitindo que funcione da mesma maneira em aplicações XAML como JavaScript.

Outro problema surgia na janela de pré-visualização de impressão, que também exigia que cada programa implemente suporte específico a esta funcionalidade. Buscando resolver este problema, no Windows 8 Metro são combinadas, em uma janela, a janela de pré-visualização e a de impressão. Assim, aplicações que suportam impressão mas não previsualização vão parecer incompletas para os usuários.

A parte principal da funcionalidade é fornecida pelo namespace Windows.Graphics.Printing. Essa API pode ser utilizada tanto em aplicações XAML como nas baseadas em JavaScript. Em teoria , o resultado é uma experiência idêntica do usuário nos dois casos. Com aplicações baseadas em JavaScript, o desenvolvedor precisa apenas registrar a aplicação para impresssão e reformatar que aparece na tela usando media queries do CSS.

Com aplicações baseadas em XAML, é necessário um pouco mais de trabalho, pois o desenvolvedor deve usar XAML para fazer o layout da pré-visualização e da página impressa. De maneira parecida com a impressão usando WPF e Silverlight, deve-se monitorar eventos levantados por uma instância de PrintDocument (no namespace Windows.UI.Xaml.Printing), através dos métodos a seguir.

  • AddPage: Indica que é necessária uma página para fazer a impressão.
  • Paginate: Indica que o usuário alterou uma configuração que pode exigir a repaginação do documento.
  • GetPreviewPage: Indica que uma página é necessária para pré-visualização.

Por ser baseada no namespace Windows.UI.Xaml, a lógica de impressão não pode ser compartilhada entre aplicações Metro e aplicações desktop.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT