Ouvrir PDF en ressource local dans programme en vb,net
Gokuone
Messages postés6Date d'inscriptionvendredi 5 juin 2009StatutMembreDernière intervention 4 mai 2011
-
23 avril 2011 à 16:15
abenoua
Messages postés14Date d'inscriptionmardi 8 septembre 2009StatutMembreDernière intervention10 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!?
abenoua
Messages postés14Date d'inscriptionmardi 8 septembre 2009StatutMembreDernière intervention10 janvier 20152 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
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 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.
Gokuone
Messages postés6Date d'inscriptionvendredi 5 juin 2009StatutMembreDerniè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
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024137 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:
Gokuone
Messages postés6Date d'inscriptionvendredi 5 juin 2009StatutMembreDerniè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.
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 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.
Gokuone
Messages postés6Date d'inscriptionvendredi 5 juin 2009StatutMembreDerniè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!!
Gokuone
Messages postés6Date d'inscriptionvendredi 5 juin 2009StatutMembreDerniè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?
Gokuone
Messages postés6Date d'inscriptionvendredi 5 juin 2009StatutMembreDerniè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!