Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Jeux vidéo de type bac à sable
31 mai 2013

CodeMoe : l'impression d'un fichier facile sous windows en code

Aujourd'hui je vais vous parler de l'impression.

Pour l'un de mes projets il m'a fallu créer un service qui imprime des rapports provenant de SQL Reports. la récupération d'un rapport par code est maitrisé depuis un moment mais l'impression était une nouvelle composante.

Après 2-3 recherches, j'ai trouvé un code assez efficace chez Microsoft (ici) qui permet d'imprimer un flux (ou un fichier). Le code est assez efficace et je vous le conseille.

Dans mon cas un petit problème supplémentaire s'est ajouté : il s'agissait d'imprimer sur une imprimante à étiquette et là malheureusement je me suis trouvé bloqué par l'imprimante que semble avoir des problème avec ce flux direct. Après pas mal d'essai j'ai finalement trouvé une solution qui même si elle m'oblige à sauver le document sur disque avant est assez efficace. Voici donc le code:

Process process = newProcess();                 
process.StartInfo.FileName = file;                               
process.StartInfo.Verb = "printto";                
process.StartInfo.Arguments = "\"" + printer + "\"";               
process.Start();                 
process.WaitForInputIdle();                
process.Kill();

Comme vous le voyez le code est assez simple. On créé un process sur le fichier et l'on y envoi la commande "printto". Ce fut une surprise assez agréable pour moi car c'est le système d'exploitation qui se charge d'effectuer l'impression pour vous.

Bonne continuation et à bientôt.

Publicité
Publicité
Commentaires
Jeux vidéo de type bac à sable
Publicité
Publicité