PDF Reader Control zeigt PDF's nicht an, wenn sie bereits geöffnet sind

  • VB.NET
  • .NET (FX) 4.0

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Butterfly.

    PDF Reader Control zeigt PDF's nicht an, wenn sie bereits geöffnet sind

    Guten Tag zusammen,

    dies hier ist mein erster Post, daher erstmal ein herzliches Hallo an alle. :)
    Da ich noch Anfänger bin habe ich Google bereits komplett auf den Kopf gestellt, leider finde ich einfach keine richtige Hilfestellung.

    Ich habe eine Art PDF-Viewer für Zeichnungen gebastelt. Das ganze funktioniert eigentlich auch super. Ich gebe meine Suchkriterien ein, klicke auf Suche, erhalte dann eine Liste mit Suchergebnissen. Über eine Listview kann ich dann die Ergebnisse einzeln auswählen, hierbei öffnet sich dann das entsprechende PDF.

    Nun komme ich aber zu meinem Problem:
    Anfang benutzte ich das Webbrowser-Control und öffnete über

    VB.NET-Quellcode

    1. WebBrowser1.Navigate(PDF)
    das entsprechende PDF. Funktionierte bei mir super, da ich Adobe Acrobat oder Adobe Reader nutze. Der Spaß hörte jedoch auf, als ein paar Arbeitskollegen meinen Viewer testeten, die Soda-PDF nutzen. Hier funktioniert eigentlich alles super, aber irgendwann hat meine Form keine Lust mehr und schließt sich einfach. Keine Fehlermeldung, nichts! Hierzu muss ich noch erwähnen, dass alle Kollegen den Adobe Reader auf dem Rechner haben (Soda zusätzlich). Er wurde auch als Standard-Viewer ausgewählt, jedoch öffnet meine Form trotzdem immer mit dem Soda!

    Also recherchierte ich weiter und stieß auf das Adobe-eigene Control. Habe es eingebaut, alles lief einwandfrei, ich war glücklich. Nur leider fiel mir irgendwann auf, dass ich nur noch eine graue Seite sehe, sobald jemand anderes im Netzwerk das PDF ansieht oder gar "extern" mit dem Reader offen hat. Das PDF ruf ich folgendermaßen auf:

    VB.NET-Quellcode

    1. AxAcroPDF1.LoadFile(PDF)


    Könnt ihr mir sagen, woran das liegt? Gesicherten Modus habe ich bereits ausgeschaltet.
    Oder: wie gebe ich dem Webbrowser-Control vor, dass es PDF's mit dem Reader öffnet.

    Über Hilfe hierzu würde ich mich sehr freuen! ^^
    @Butterfly Willkommen im Forum. :thumbup:
    @ichduersie Das ist nicht korrekt.
    Butterfly Ich habe ein PDF gleichzeitig sowohl im Internet Explorer, als auch im FireFox als auch im Adobe Reader als auch im WebbRowser-Control offen, 4 Instanzen, problemlos.
    Ich vermute mal, dass es an dem Natrium-Karbonat-dingens liegt.
    Hier sollte eine entspechende Arbeitsanweisung klarheit bringen, das ist was politisches, nix fleißiges.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Erstmal vielen Dank für die Antworten. :)

    Natrium-Karbonat-dingens

    :D

    Ja, das Ding scheint das nicht zu packen. Meines Erachtens ist dieses PDF-Programm noch nicht so standfest. Aber: Wenn ich das Adobe-Control nutze komme ich mit dem Soda ja garnicht mehr in Berührung. Es langt schon, wenn ich ein PDF aus dem Ordner "extern" mit dem Reader oder dem Acrobat offen habe und dann das selbe PDF mit meinem Viewer über das Reader-Control öffnen möchte. Es zeigt es einfach nicht mehr an. Und ich habe keine Ahnung wie ich das Problem anpacken soll.

    Habe mir so viel Mühe mit meiner Form gegeben: automatische Abgleiche im Hintergrund, FileSystem-Watcher, die Möglichkeit Info's zu jeder Zeichnung zu hinterlegen die dann in XML-Dateien gespeichert werden. Das war für mich als Anfänger teilweiße ein harter Weg und jetzt hängt es ausgerechnet an sowas. :(

    Hier sollte eine entspechende Arbeitsanweisung klarheit bringen, das ist was politisches, nix fleißiges.

    Eine klare Arbeitsanweisung gibt es nicht. Ich bin die Zeichnerin, es gab keinerlei System für die Zeichnungen, also habe ich mich selbst daran versucht. Klappte bisher eigentlich, bis auf dieses Problem eben.

    Über das Webbrowser-Control hat alles funktioniert. Gibt es hier die Möglichkeit den Adobe-Reader zu wählen? Habe da mal was von Useragent in dem Navigate-Befehl gehört, aber nur in Zusammenhang mit Browsern. Daher kam ich da auch nicht wirklich weiter.
    Hauptsache der Soda kommt nirgendwo mehr durch.
    @Butterfly Was für ein Betriebssystem hast Du?
    Du kannst im Explorer mit rechts auf eine PDF-Datei klicken und Dir im Kontextmenü den Adobe Reader als Standardprogramm auswählen.
    Wenn Du dies gemacht hast, probiere erneut, ob sich das Verhalten Deines Systems "gebessert" hat.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich kann es gerade nicht glauben, aber nach wochenlanger Suche habe ich es tatsächlich gelöst:

    VB.NET-Quellcode

    1. AxAcroPDF1.LoadFile(PDF)
    blockiert scheinbar die Datei völlig.
    Habe jetzt statt LoadFile folgendes verwendet:

    VB.NET-Quellcode

    1. AxAcroPDF1.src = PDF

    Ich möchte ja nicht den Tag vor dem Abend loben, aber ich habe es gerade mit meiner Kollegin getestet und es hat funktioniert. :)

    Vielen Dank für eure Antworten. :)