Ouvrir PDF en ressource local dans programme en vb,net

Gokuone Messages postés 6 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 mai 2011 - 23 avril 2011 à 16:15
abenoua Messages postés 14 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 10 janvier 2015 - 11 mars 2012 à 03:54
Bonjour,

J'écris ce post car je ne sais pas comment faire pour inclure un pdf à mon programme et qu'après on puisse toujours l'ouvrir.

En fait, ce que j'ai fait c'est que j'ai utilisé le contrôle "WebBrowser" en lui mettant en adresse l’emplacement local où se trouvait mon fichier pdf. Evidemment une fois mon prog publié pour être utilisé sur un autre pc, le fichier pdf n'est plus accessible!

Alors je me demande quel est le moyen pour l'ajouter au programme en ressource, et qui serait toujours accessible!?

Si vous pouvez m'aider, ça serait gentil.

Merci d'avance

Gokuone

11 réponses

abenoua Messages postés 14 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 10 janvier 2015 2
11 mars 2012 à 03:54
si j'ai bien compris vous voulez ouvrir un fichier pdf via un bouton VB
si oui . voila le bon code en VB 2010
Private Sub Btpdf_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtPdf.Click
Dim proc As New Diagnostics.Process
proc.StartInfo.UseShellExecute = True
' Définition du fichier à ouvrir
proc.StartInfo.FileName = "C:\chemin de ton fichier.pdf"
proc.Start()
End Sub
3
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
24 avril 2011 à 08:08
Bonjour,

Je ne connais pas la taille de ton PDF, mais le mettre en ressources ne me parait une bonne idée car à la compilation il sera intégré "à l'intérieur" de ton exécutable ce qui l'alourdira d'autant.
A ta place je le livrerais à côté (en tant que fichier joint) éventuellement crypté ou autre.

Calade
0
Gokuone Messages postés 6 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 mai 2011
24 avril 2011 à 11:39
Bonjour,
Effectivement c'est peut être pas une idée top!
Ce que j'ai fait c'est que je propose de le télécharger depuis internet comme ça il se met au bon endroit afin que mon programme puisse l'ouvrir.
Car si je le joignais avec il fallait dire à l'utilisateur de mettre à la bonne place ou alors de faire un script!
M'enfin ça va jouer comme ça, merci pour la réponse.
A+
gokuone
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
24 avril 2011 à 11:44
Effectivement je pense que c'est mieux. Mais juste un conseil bien que je ne connaisse pas le contexte.
Je ne pense pas qu'imposer l'emplacement d'un fichier sur le disque de l'utilisateur soit top non plus. Celui-ci doit rester maître de son arborescence.
Perso' ce genre de choses au mieux me fait fuir au pire me hérisse le poil.


Calade
0

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

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 avril 2011 à 11:47
Bonjour,
Calade a raison, mais si tu veux quand même l'intégrer dans ton application, c'est très simple.
Mettre le PDF dans le dossier Debug de l'application, où se trouve l'exe. Pour l'appeler voici le code:

        Process.Start(Application.StartupPath & "" & "Monfichier.pdf")



@+Le Pivert
0
Gokuone Messages postés 6 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 mai 2011
24 avril 2011 à 12:23
Re,
Je suis d'accord que c'est pas top d'imposer l'emplacement d'un fichier!
Mais comme dans mon programme j'ai un bouton qui permet d'ouvrir un diagramme en pdf, il faut quand même qu'il soit à un endroit fixe!

Par contre pour la possibilité de le mettre dans le dossier debug, je n'en ai pas, en fait pour être honnête, je n'ai rien dans program files il se met dans le menu démarrer et c'est tout.
C'est peut être du au fait que j'ai utilisé vb2010 en version express et que j'ai donc utilisé la fonction oublier!
C'est clair que sur le pc de dev j'ai bien le dossier debug.

Merci en tout cas pour vos commentaires.

Gokuone
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
24 avril 2011 à 12:33
Si j'ai bien compris, l'utilisateur doit télécharger un fichier PDF quelque part sur son disque dur et ce fichier doit être accessible par ton application ?

Pourquoi ne pas récupérer le nom du dossier (au moment du téléchargement) ou inclure une boite de dialogue "Open" au début de ton application.

Dans le 1er cas tu pourrais stocker ce dossier dans la base de registre puisque tu n'as pas vraiment de dossier d'application.


Calade
0
Gokuone Messages postés 6 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 mai 2011
24 avril 2011 à 17:36
Re,

En fait l'utilisateur clic sur un bouton, ça lance le téléchargement et ensuite l'enregistre à l'emplacement c:\.

Ainsi dans mon prog, je lis le fichier à cet endroit!

Par contre l'idée de base de registre dont tu parles, serait d'enregistrer l'emplacement du dossier ou l'utilisateur enregistre le fichier donné, l'emplacement du dossier serait stocké dans la base de registre et je pourrais ainsi savoir où se trouverait le fichier?

Cela pourrait être une bonne idée, mais étant vraiment novice en programmation, je ne sais pas du tout comment m'y prendre.
Il me reste encore bcp d'heures de lecture!!

Merci en tout cas
a+
Gokuone
0
Gokuone Messages postés 6 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 mai 2011
26 avril 2011 à 09:53
Bonjour à tous,

Je reviens concernant mon téléchargement de fichier.

En utilisant My.Computer.Network.DownloadFile, sur xp ça fonctionne mais pas sur seven!

C'est dû certainement aux droits admin sur seven, même si le compte utilisé est avec les droits "administrateur", ça ne fonctionne pas. Il faut lancer le setup.exe que je crée en "exécuter en tant qu'administrateur".

Le moyen pour contrer ça, c'est d'utiliser la classe "WebPermission"? Est-ce que ça peut fonctionner comme ça?

Cordialement
Gokuone
0
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
30 avril 2011 à 15:00
Tu peux aussi mettre le fichier pdf en ressources pour qu'il soit intégré à l'EXE lors de la compilation.

Lorsque l'utilisateur doit le visualiser, le programme le recopie dans le dossier temporaire (par exemple) puis l'ouvre au moyen d'un Process.
0
Gokuone Messages postés 6 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 4 mai 2011
4 mai 2011 à 21:58
Bonjour tout le monde,

Merci pour vos réponses, j'ai donc opté pour mettre le fichier dans le chemin de l'appdata (pour rappel c'est du clickonce). Par contre il m'était impossible d'écrire sur le disque c sur seven avec un compte par défaut! Enfin ça serait plutôt un sujet pour un autre poste!

A+
0
Rejoignez-nous