Pdf mit Adobe Plugin anzeigen geht nicht mehr

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Pdf mit Adobe Plugin anzeigen geht nicht mehr

    Hallo
    Ich habe auf meine Form ein AdobePDFReader Control gezogen.
    Dazu habe ich (wie im Netz beschrieben) unter COM-Komponenten das "Adobe PDF Reader" angehakt. Danach dann das neu erschienene Adobe PDF Reader Control auf die Form gezogen.
    Dieses hat die NameEigenschaft: "pdfviewer"
    Im Form Load Event läuft unter anderem folgende Zeile:
    PdfViewer.LoadFile(pdfpath)
    Der Inhalt von pdfpath ist dabei zu 100% korrekt. Wenn ich diesen in meinen Explorer kopiere (und die Anführugnszeichen am Anfang und Ende entferne), wird die pdf geladen.
    Der Adobe PDF Reader zeigt aber nur ein dunkelgraues Bild. Da wird keine pdf angezeigt.
    Auch wenn ich dort direkt einen korrekten Pfad einfüge, passiert nix: pdfviewer.LoadFile("C:/Users/flori/Desktop/test.pdf")
    Das ganze hat aber mal problemlos funktioniert. Ich habe dann den Adobe Reader deinstalliert (Dummheit im Dienst). Seid der Neuinstallation tritt das besagte auf. Es wird aber kein Fehler geschmissen.
    Das einzige, was ich gefunden habe ist folgender Hinweis beim kopmpilieren:
    3> Der COM-Verweis "AcroPDFLib" ist die Interopassembly für das ActiveX-Steuerelement "AxAcroPDFLib". Entsprechend der Markierung ist der Verweis jedoch durch den Compiler mit dem /link-Flag verknüpft. Der COM-Verweis wird als Verweis behandelt und nicht verknüpft.
    Kann mein Problem hiermit zusammenhängen?
    @DerSmurf Verschiebe zunächst den Code aus dem .Load- in das .Shown-Event und sieh nach, was da passiert.
    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!
    Hallo mein lieber.
    Ich habe nun das FormLoad Event auskommentiert und folgendes Shown Event eingefügt:

    VB.NET-Quellcode

    1. Private Sub frmsendmail_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    2. pdfviewer.LoadFile("file:///C:/Users/flori/Desktop/test.pdf")
    3. End Sub

    Es bleibt das control dunkelgrau. Zeigt nix an

    Edit:
    Ich habe gerade mal ein neues Projekt erzeugt. Hier wird das Control korrekt befüllt. Die Datei wird angezeigt.

    Edit2:
    Ich habe gerade mal auf einer anderen Form im gleichen Projekt (also in dem wo es nicht geht) versucht eine pdf anzuzeigen.
    Hier bleibt das Control ebenfalls leer.
    Es ist, als wenn im Projekt etwas ist, was das laden der pdf verhindert.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DerSmurf“ ()

    @DerSmurf Welche DLLs wurden vom OCX generiert, die jetzt im Projekt enthalten sind?
    Vergleiche die vom alten und vom neuen Projekt.
    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!
    es werden zwei DLLs generiert. Diese sind zumindest in beiden Projekten identisch groß.
    Ich habe die beiden dlls aus dem nicht funktionierenden Projekt durch die aus dem funktionierenden ersetzt.
    Außerdem habe ich die beiden Verweise hierauf (welche korrekt existieren) gelöscht und neu angelegt.
    Ändert leider auch nichts.

    Edit: In der funktionierenden Solution ist ein Verweis auf die System.Net.http. die fehlt in der nicht funktionierenden Solution.
    Ein Verweis hierauf überzeugt mein Control leider ebenfalls nicht, eine pdf anzuzeigen.
    Aber oben erwähnte Warnung: ​3> Der COM-Verweis "AcroPDFLib" ist die Interopassembly für das ActiveX-Steuerelement "AxAcroPDFLib". Entsprechend der Markierung ist der Verweis jedoch durch den Compiler mit dem /link-Flag verknüpft. Der COM-Verweis wird als Verweis behandelt und nicht verknüpft.
    Ist durch eins der Dinge die ich in diesem Post erwähne verschwunden.
    Bilder
    • Acro.png

      160,52 kB, 1.920×1.080, 48 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DerSmurf“ ()

    @DerSmurf Möglicherweise ist mit der Projekt-Datei iwas passiert.
    Dann schiebe allen Code vom alten in das funktionierende Projekt.
    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 habe gerade mal den Adobe Reader aus meinem Projekt entefernt (Controls raus, dlls raus - und gelöscht) und das ganze neu eingebunden, bringt auch nichts.
    Das umtüddeln in ein neues Projekt ist mir definitiv zuviel Mühe.

    Mich nervt das Plugin sowieso. Denn ich habe nur für diesen einen Zweck auf allen PCs die das Programm ausführen den AdobeReader installiert.
    Sonst brauche ich den nie!
    Mein Vorhaben ist nun diesen aus meinem Projekt zu verbannen.
    Leider habe ich bisher keine Anleitung im Netz gefunden (die ich zum laufen bekommen habe), um eine pdf auf einer Form anzuzeigen (mehr will ich garnicht).
    Hast du da evtl. was?

    DerSmurf schrieb:

    Hast du da evtl. was?
    Leider nein.
    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!