Impression de PDF en vb.net

homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014 - 9 juin 2012 à 13:28
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014 - 11 juin 2012 à 09:52
Salut à tous,
Je vais sans doute poser une question bête, mais je me lance...
J'ai un printdocument que j'arrive à imprimer en papier ou en PDF. Mon soucis c'est que j'aimerai, dans le cas ou l'utilisateur choisi en PDF, que le document soit créé avec un nom défini et dans un dossier défini de façon "invisible". Pour l'instant j'utilise PdfCreator. J'ai cherché la façon de piloter PdfCreator pour définir tout ça mais je comprends pas grand chose!!! si quelqu'un connait un tres bon tuto ou une astuce...J'ai tellement fait tourné google que le logo commence à s'user!! Merci d'avance.


Nico

13 réponses

Utilisateur anonyme
9 juin 2012 à 15:28
Comme noté dans les exemples du lien que je t'ai donné, il faut que tu te serves de ce paramètre de ligne de commande :
pdfcreator.exe /IF"C:\description.ps" /OF"C:\description.pdf" /OutputSubFormat"PDF/A-1b"

IF est l'input file (fichier à transformer)
OF est l'output file (fichier pdf résultant)
OutputSubFormat je ne sais pas (à toi de regarder la doc de PDFCreator)

Tu remarqueras que les chemins des fichiers sont à inclure dans le paramètre, ainsi, il sera créé au bon endroit.

Dans ton application, utilise l'objet Process et son paramètre ProcessStartInfo pour démarrer PDFCreator avec les paramètres appropriés.

Note : A cause des espaces souvent contenus dans les chemins de fichiers, tu devras encadrer outputfile et inputfile par des guillemets en te servant par exemple du très pratique String.Format
1
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
9 juin 2012 à 14:46
Bonjour,

Pour changer le nom et le chemin de destination de PDFCreator, il faut modifier quelques clés dans le registre, je ne sais plus lesquelles, mais ça fonctionne bien.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
0
Utilisateur anonyme
9 juin 2012 à 14:56
Bonjour,

PDFCreator possède une ligne de commande pour le piloter de façon externe.
0
Utilisateur anonyme
9 juin 2012 à 14:58
Et le lien en francais ici
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014
9 juin 2012 à 15:16
Merci pour ces infos, banana32, mais je vois pas comment régler le nom et le chemin de l'enregistrement avec leur commande. J'ai pas de grosse base en VB.net.

Nico
0
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014
9 juin 2012 à 16:11
J'ai bien vu ça mais dans mon code je demande à l'utilisateur s'il veut imprimer en PDF. Si il répond non j'associe l'imprimante papier à mon PrintDocument sinon je l'associe à PdfCreator. Du coup il me lance la fenetre pour donner le nom du doc, apres on doit cliquer sur enregistrer et choisir le dossier. C'est ça que je veux éviter.

Nico
0
Utilisateur anonyme
9 juin 2012 à 16:52
Si tu es prêt à payer, il existe DynamicPDF™ PrintManager for .NET (Build 18760) à référencer dans ton projet.
La doc est .
Peut-être qu'il existe des solutions gratuites.
Bonne chance.
0
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014
9 juin 2012 à 17:02
Actuellement je me bat avec clsPdfCreator pour trouver les options à utiliser et pour qu'elles soient pris en compte mais ça ne fonctionne pas!!! j'essaye d'adapter les sources que je trouve (qui servent plus à transformer des fichiers doc en pdf) mais je doit pas être doué. Est ce qu'il existe une doc genre msdn pour les options de pdfcreator en vb?


Nico
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
10 juin 2012 à 08:12
0
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014
10 juin 2012 à 09:01
Bonjour Le Pivert,
Merci pour cette source. Je l'avais déjà testée mais ça ne marchait pas. Dedans ils utilisent "cPrint(fichier)" pour choisir le fichier à imprimer. Mais ça ne s'applique pas à mon composant PrintDocument. Du coup les options passent à la trappe... enfin je pense vu que ça marchait pas!
Merci quand même

Nico
0
Utilisateur anonyme
10 juin 2012 à 22:34
Pour trouver de l'aide et si la question est toujours d'actualité, il faut maintenant que tu donnes un bout de code sur l'endroit précis où tu as ce problème.
0
tovin Messages postés 164 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 14 août 2013 3
11 juin 2012 à 06:16
Bonjour,
Et pourquoi ne pas utiliser la dll dll ITextSharp.dll (à mettre en référence) qui transforme un texte en PDF ?
0
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014
11 juin 2012 à 09:52
Salut à tous!
Grande nouvelle : les utilisateurs veulent garder un controle sur le chemin d'enregistrement en pdf! Du coup c'est moins compliqué! Je prendrais du temps quand même pour essayer de résoudre ce problème. Merci encore pour vos réponses.


Nico
0
Rejoignez-nous