Imprimer un document rtf (sans l'ouvrir) avec vb 2005
cs_Princesse
Messages postés14Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 1 décembre 2008
-
24 nov. 2008 à 21:17
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 2011
-
26 nov. 2008 à 10:36
Bonjour,
Voilà, cela fait un petit moment que je cherche à imprimer un document rtf en cliquant sur l'un de mes controles de mon appli asp vb.net 2005. Et je n'y arrive pas. Avec l'objet printdocument, une impression est envoyée à l'imprimante mais il n'y a rien dessus.
Avec l'objet word.application, ca marche mais cela necessite que word soit installe sur la machine et ça ne convient pas à mon application car certain de mes utilisateurs n'ont pas ce logiciel.
Je ne sais plus quoi faire et en plus ce travail est urgent. Je ne sais plus ou chercher... Comment designer le doc à imprimer pour printdocument (j'ai essayé avec documentname mais ce n'est pas cà).
Dois je me servir d'un objet "File"???.
Voici mes tests ci dessous
code num 1 qui marche mais convient pas (necessite word)
Dim WordApp, Doc
WordApp = CreateObject("Word.Application")
Doc = WordApp.documents.open("C:\\essai.rtf")
Doc.PrintOut()
Doc.Close()
WordApp.Quit()
et voici le code qui envoie une impression mais avec rien d'imprimer dessus (comment lui indiquer un doc à imprimer??)
cs_Princesse
Messages postés14Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 1 décembre 2008 24 nov. 2008 à 21:45
C'est encore moi
J'ai également essayé avec un objet vb6 (après avoir installé un pack de compatiblité)
Mon code fait comme le printdocument, il imprime bien du text mais si j'essaie avec un fichier rtf ca ne marche pas.
Si quelqu'un a une solution avec ce composent vb6, je pourrai également m'en servir
voici mon code
'Dim pr As New PowerPacks.Printing.Compatibility.VB6.Printer 'Instanciation de l'imprimante par d‚faut'Dim pFont As New Drawing.Font("Arial", 14) 'Une nouvelle font
'pr.Font = pFont
'pr.Print("This text will print in 14 point ") 'Texte … imprimer
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 24 nov. 2008 à 23:03
Salut,
Sinon tu peux aussi utiliser la commande Shell Print, ce qui revient au même que de faire un bouton droit sur le fichier > imprimer. Dans ce cas, c'est le soft associé qui se charge de l'impression.
Suffit de trouver la clé définissant l'association de l'extension au programme dans la base de registre et d'y lire la valeur pour la commande Print.
cs_Princesse
Messages postés14Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 1 décembre 2008 25 nov. 2008 à 09:33
Bonjour,
Merci Kevin pour ta solution. C'est vrai que ce serait l'idéal car ça s'adapterait à différent poste utilisateur.
Sans vouloir abuser, est ce que tu aurais un ex de code pour trouver cette clef associé puis se servir du shell print.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 25 nov. 2008 à 10:32
Salut Princesse,
Voici un code qui te permettra d'imprimer un document sans l'ouvrir :
Dim monProcess As New Process()
' Déclaration et Initialisation d'un nouveau Process
monProcess.StartInfo.FileName = "D:\MyFile.rtf" ' On définit le fichier sur lequel on veut opérer
monProcess.StartInfo.Verb = "Print"' On définit l'action voulue (ici, imprimer)
monProcess.StartInfo.CreateNoWindow = True ' On demande de ne rien afficher
monProcess.Start() ' On démarre le process (Impression du fichier)
cs_Princesse
Messages postés14Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 1 décembre 2008 25 nov. 2008 à 10:51
Bonjour Fauve,
Tout d'abord merci pour ta réponse
J'ai testé ton code mais j'ai du oublié d'importer une classe ou quelquechose comme ca car j'ai eu cette erreur
Erreur de compilation
Description : Une erreur s'est produite lors de la compilation d'une ressource requise pour répondre à cette demande. Veuillez consulter ci-dessous les détails relatifs à l'erreur en question, puis modifier votre code source de manière appropriée.
Message d'erreur du compilateur: BC30002:
Type 'Process'non défini.
(j'ai visual studio 2005)
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 25 nov. 2008 à 11:10
Je crois que le fichier rtf n'est pas tout à fait associer à Wordpad, voici le moyen de vérifier :
Depuis l'explorateur Windows ou le poste de travail, il est possible de
modifier, créer, supprimer, changer l'icône associé au type de
fichiers, ou restaurer le type de fichiers par défaut.
<li> Cliquer sur le menu "Outils" puis sur "Options des dossiers".
</li><li> Choisir l'onglet "Types de fichiers".
</li><li> La liste des extensions, le type de fichiers ainsi que le programme d'ouverture s'affichera.
</li><li> Sélectionner celle dont vous désirez apporter un changement.</li>
Il est possible que plusieurs applications soit associés à l'extension rtf
Tu cherches l'extension rtf et tu vérifies ci-celui est bien associé à Wordpad si c'est pas le cas, il faudra cliquer sur le bouton Modifier
Si en revanche, il y en a plusieurs, supprimes toutes les occurences de l'extension rtf qui n'est pas associé à Wordpad
cs_Princesse
Messages postés14Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 1 décembre 2008 25 nov. 2008 à 11:22
heu c'est pas la que je voulais poster mon message, je croyais que ca aller poster à la suite de mes messages sur comment imprimer un rtf sans l'ouvrir.
cs_Princesse
Messages postés14Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 1 décembre 2008 25 nov. 2008 à 11:47
J'ai vérifier comme tu me l'as indiqué et les fichiers rtf sont bien associés à wordpad (et seulement à wordpad).
J'ai fait le test avec des fichier doc qui st aussi associés à wordpad.
J'obtiens toujours la même erreur, je ne comprend pas pourquoi l'application n'est pas trouvée.
cs_Princesse
Messages postés14Date d'inscriptionvendredi 31 mai 2002StatutMembreDernière intervention 1 décembre 2008 25 nov. 2008 à 11:49
J'ai vérifier comme tu me l'as indiqué et les fichiers rtf sont bien associés à wordpad (et seulement à wordpad).
J'ai fait le test avec des fichier doc qui st aussi associés à wordpad.
J'obtiens toujours la même erreur, je ne comprend pas pourquoi l'application n'est pas trouvée.
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 25 nov. 2008 à 13:06
Essaies de supprimer tous les références de l'extension rtf. Puis essaies d'ouvrir de nouveau un fichier d'extension rtf et Windows te demandera avec quel programme tu souhaites l'ouvrir et choisis WordPad (n'oublies de cocher l'option Toujours utiliser le programme sélectionné pour ouvrir ce type de fichier)
Normalement, le code devrait s'exécuter normalement, cette fois-ci, enfin j'espère.