Frans27
Messages postés3Date d'inscriptionmercredi 16 mars 2011StatutMembreDernière intervention21 mars 2011
-
17 mars 2011 à 15:02
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
15 mai 2011 à 18:56
Salut tout le monde,
Je suis en train de réaliser une application en c#. Donc dans cette application, je construis un tableau de bytes qui correspond à un pdf (pour pouvoir le stocker dans une base de donnée). A partir de ce tableau de bytes , j'aimerais bien imprimer le pdf. Donc j'avais pensé à le convertir en fichier EMF (Enhanced Metafile) et de lancer une impression avec PrintDocument. Mais je ne trouve pas de solution pour réaliser cette conversion.
Si vous avez une suggestion pour résoudre mon problème, n'hésitez pas.
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 17 mars 2011 à 15:20
Salut,
As-tu tenté ta chance avec le contrôle PrintDocument (System.Drawing.Printing) ?
J'ai fait une tentative rapide de mon côté et ça a l'air de fonctionner (*).
Il faudra par contre remonter un fichier temporaire depuis le binaire extrait de ta BDD.
(*) "a l'air" car n'ayant pas d'imprimante fonctionnelle je n'ai pas pu aller jusqu'à l'impression réelle.
Frans27
Messages postés3Date d'inscriptionmercredi 16 mars 2011StatutMembreDernière intervention21 mars 2011 17 mars 2011 à 16:51
Merci pour ta réponse.
En fait je cherchais une solution qui ne nécessite pas le remontage d'un fichier.
Avec PrintDocument, je n'arrivais pas à lui donner le PDF correctement.
J'ai trouvé une autre solution qui nécessite aussi la création d'un fichier temporaire. C'est de lancer un Process d'impression.
Process proc = new Process ();
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.Verb = "print";
proc.StartInfo.FileName = "d:\\Test.pdf" ;
proc.Start();
proc.WaitForExit(10000);
proc.CloseMainWindow();
proc.Close();
J'ai pas gratté le code présenté, mais le titre parait assez explicite.
Par contre ça fait un sacré bousin juste pour éviter de créer un fichier temporaire (avis perso).