Salut,
J'aimerais exécuter un pdf que j'ai ajouté aux ressources de mon projet.
J'ai trouvé quelques messages pour ouvrir des word, etc, mais qui ne sont pas situés dans les ressources. Quel est son "chemin" pour l'execution?
Merci
Salut,
J'aimerais exécuter un pdf que j'ai ajouté aux ressources de mon projet.
J'ai trouvé quelques messages pour ouvrir des word, etc, mais qui ne sont pas situés dans les ressources. Quel est son "chemin" pour l'execution?
Merci
Salut,
Si tu as placé les PDF dans les ressources emarquées, il risque d'être difficile de l'exécuter directement car le fichier est embarqué dans l'assembly. Il n'y a pas de chemin car le fichier est représenté par un bloc mémoire. Le plus simple dans ce cas c'est d'extraire avant l'ouverture ce fichier vers un répertoire Temporaire afin qu'un lecteur de pdf puisse le lire.
D'accord, merci. J'ai cependant un problème: quand j'ajoute un fichier pdf dans les ressoures, je ne parviens pas à faire My.Resources.monfichier.Save("monfichier.pdf"), visual studio me souligne la ligne en me disant qu'il y a une erreur (ça à l'air de planter pour les fichiers pdf).
Comment faire?
Merci
Re,
en réalité c'est un peu plus complexe. Les fichiers ajoutés en resouces, "perdent" la notion de ficheir, c'est à dire qu'ils deviennent un bloc mémoire intégrés à l'assembly. C'est un tableau de byte[]. Il faut donc repasser par un FileStream pour l'enregistrer.
Voila ce que j'ai trouvé.
Pourtant, il y a incompatibilité de type entre la variable stream et My.Resources.help (help le nom de ma ressource pdf).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim stream As System.IO.UnmanagedMemoryStream = My.Resources.help Dim streamFile As New System.IO.FileStream("fichier_temp.pdf", IO.FileMode.Create) Dim data(stream.Length) As Byte stream.Read(data, 0, data.Length) streamFile.Write(data, 0, data.Length) streamFile.Flush() streamFile.Close()
Quel est le type de variable à utiliser?
Merci
Partager