BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

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

por Jonathan Allen , traduzido por Leonardo Galvão em 13 Out 2011 |

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.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT