Hoe een pdf, opgeslagen in resources, in een nieuw scherm te openen?

Status
Niet open voor verdere reacties.

DenkInKansen

Gebruiker
Lid geworden
12 mei 2013
Berichten
6
Beste lezer,

Ik heb een vrij simpel programma in VB2008 Express (ben een beginner) waarin mbv een paar keuzemenu's (radiobuttons en listboxes) een foto, tekening of tekst wordt getoond in het programma zelf of in geval van een pdf een nieuw window wordt geopend.
In principe wil ik alle ondersteunende files (.jpg, .png, .txt, .pdf) in het programma zelf opslaan, bij Resources.
Al deze benodigde files zijn via Add resources in het project zelf opgeslagen.
Voorbeeld; PictureBox1.Image = Projectname.My.Resources.Resources.filenaam waarin de onderstreepte specifiek zijn.
Dat werkt voor afbeeldingen en tekst.

Een pdf wil ik echter in een nieuw window openen om de mogelijkheden van Acrobat Reader (alle collega's die het programma gaan gebruiken hebben Acrobat op hun laptop) te kunnen gebruiken.
1. Process.Start("d:\directorynaam\voorbeeldPDF.pdf") werkt prima.

2. Process.Start("My.Resources.voorbeeldPDF.pdf") of
3. Process.Start("AcroRd32", "voorbeeldPDF.pdf")
werken niet vanwege de volgende foutmelding:
"Win32Exception was unhandled Het systeem kan het opgegeven bestand niet vinden"

Alhoewel ik de noodzaak er niet van inzie (ik wil de pdf in een nieuw window openen en optie 1 werkt) heb ik Acrobat Reader in de Toolbox toegevoegd (rechtermuisknop, Choose Items en dan via tabblad COM Components). Helpt echter niet.
Ik heb al heel wat fora afgezocht, maar heb het idee dat ik het veel te moeilijk zoek.

Vraag:
a. Wie weet raad?

Bijkomende vraag:
b. Is het slim om alle ondersteunende files op te slaan in Resources? Zo nee, wat is een betere oplossing?

Dank voor het meedenken!
 
Kennelijk een moeilijke vraag, of zo simpel dat niemand wil reageren?
Na een week zoeken en veel lezen kom ik tot de conclusie dat ik het antwoord eigenlijk al had gegeven. Een file openen vanuit Resources kan alleen binnen het progje dat je hebt gemaakt. Vandaar de foutmelding :D.
De vraag die open blijft is vraag b. Hoe dan wel? Opslaan in een DLL? Heb echter geen idee hoe. Deze link geeft misschien een idee, alleen zie ik na rechtsklik en Add geen 'new project' menu.
We zoeken verder. Als iemand raad weet, heel graag.
 
Laatst bewerkt door een moderator:
Heb je de express editie? Zo ja, dan kan dat wat op die website staat niet... Zo nee, raar geval.

Pim
 
Ja klopt, ik heb de 2008 express editie. Via menu Build en Publish<projectnaam> lukt het me wel het progje executable te maken, maar waar laat ik de pdf-jes?
We zoeken en lezen verder :) bijvoorbeeld hier of hier.
Het boek Visual Basic 2008; Step by step dat ik heb, gaat er van uit dat je een betaalde versie van VB2008 hebt. En dan moet je hier en daar wel eens een omweg gebruiken :confused:.
 
Laatst bewerkt door een moderator:
@DenkInKansen Onnodige quotes verwijderd. Wanneer je direct reageert op een reactie is het niet nodig om dat bericht te quoten. Onnodig quoten heet dat, hetgeen niet gewenst is.
 
Hoi,

Je moet het bestand dan geloof ik eerst ergens binnen de windows bestands-structuur neerzetten. Daarvoor kan je even hiernaar kijken. Daarna zou het moeten lukken: http://www.wikihow.com/Save-File-from-Your-Resources-in-Vb.Net.

Succes!:thumb:
MartinJM

PS: Ik heb de stappen uit de link niet zelf geprobeerd, dus ik weet ook niet zeker of het werkt.

[edit]
BTW: Welkom op Helpmij.nl! :)
[/edit]
 
@ MartinJM: Bedankt voor het meedenken. Dat is niet wat ik zoek, want het gaat over opslaan van files. Ik wil juist een extern programma (Adobe Reader) een meegestuurde file (pdf) laten openen. Waar laat ik die pdf? Hoe en waar installeer ik die pdf's op een andere PC.
Na het bijbehorende filmpje gezien te hebben, komt Youtube met filmpjes met soortgelijke onderwerpen. Daar stond dit filmpje bij. In dat filmpje wordt deze programmaregel geschreven:
Public thepath As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Bij 3.05 minuten wordt een uitklapmenu zichtbaar waar onder andere Resources staat. Zijn VB Express versie is 2010. Bij mijn VB 2008 express versie staat Resources niet in de lijst.
Upgraden naar VB2010? Of zou Resources sowieso niet werken als op een andere PC geen VB geïnstalleerd is? Ik ben warm volgens mij :cool:.
Ik zoek, lees en kijk verder.
 
Laatst bewerkt:
Hoi,

Een bestand uit de recourses kan je, bij mijn weten niet zomaar extern openen. Dan moet je het bestand eerst ergens opslaan en dan extern openen. Vandaar die link.

Ik weet niet of recources er bij 2010 wel in staat, want ik gebruik zelf ook (nog) 2008 :)

Anders is het ook nog mogelijk om de pdf gewoon in dezelfde map neer te zetten als het programma. Die kan je dan samen versturen in een zip. Die kan je dan laten openen met zoiets:
[CPP]Process.Start(IO.Path.Combine(Application.StartupPath, "Naam PDF.pdf"))[/CPP]

Succes! :thumb:
MartinJM
 
Ik denk dat ik het gevonden heb dankzij deze link :thumb:
Zoals ik vermoedde, het is eigenlijk zo simpel..... Voeg de pdf toe aan het project met Add->Existing item... (dus NIET in Resources) en vervolgens met Process.Start("filenaam.pdf") wordt de pdf in Acrobat geopend :cool:.
Een paar keer getest en na Publish werkt het op mijn PC. Morgen testen op een andere PC.
So far so happy!
Voor allen die meedachten; THANKS. Ik blijf in kansen denken :).
 
Fijn dat het is opgelost. De vraag kan dus nu op opgelost?

Pim
 
Het werkt op een XP-machine, niet op een W7 pro. Zal wel aan diverse beveiligingen/instellingen liggen. Daar kom ik wel uit.
Nog een opmerking. Bij Properties van de "filenaam".pdf dient Build Action op Content te staan, anders werkt het niet.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan