Printing in metro apps

Message de Pierre-Yves Hemery (Le 16-09-2011)

2 solutions pour lancer une impression dans une app Metro : soit par le charm Device > Print, soit depuis un bouton de l’app.

L’app gere le contenu a imprimer, et laisse windows gerer l’impression.
On peut bien sur gerer une vue imprimable differente de l’ecran en cours.
Pour pouvoir imprimer, on doit ajouter la capabily print dans le manifest, et implementer le print contract.

HTML5
On formatte le contenu a imprimer en CSS, comme on le ferait dans une page web classique, et en utilisant les events onbefoprint/onafterprint.

XAML
Ici aussi, l’app se contente de produire le contenu dans un PrintDocument et le transmettre au PrintManager pour impression.
Contrairement au html, en xaml il faut aussi gerer le contenu de la preview.

Print experience
On a aussi la possibilite de customiser les options (copies, orientation, pagination…) : lesquelles afficher, leurs ordres d’affichage, valeurs par defaut….
On peut aussi ajouter des options avancees a la PrintTask pour eviter d’enchainer plusieurs boite de dialogue avant d’imprimer (ex. imprimer image+legend ou image seulement), chaque option a sa callback pour prendre en compte le choix sur le contenu a imprimer et mettre a jour la preview.

Direct2D / XPS
L’API contient aussi les methodes pour faire des impressions plus riches avec D2D ou directement en XPS.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s