VB - PDF in Passwort geschützter ZIP-Datei in Windows Form anzeigen

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Gather.

    VB - PDF in Passwort geschützter ZIP-Datei in Windows Form anzeigen

    Hallo zusammen,

    ich benötige Hilfe bei einer VB Windows Form.

    Und zwar möchte ich in einer Windows Form ein PDF(AxAcroPDF) anzeigen lassen bzw. einbinden das in einer passwortgeschützten ZIP-Datei liegt ohne die ZIP-Datei vorher zu entpacken zu müssen.
    Um die ZIP-Datei zu öffnen benutze ich Dotnetzip (dotnetzip.codeplex.com/)
    Das entpacken mit Passwort funktioniert damit bestens.

    Allerdings wie sag ich ihm er soll es nicht entpacken sondern nur die PDF im AxAcroPDF anzeigen.

    Vielen Dank schon einmal für eure Hilfe!

    Gruß,
    Michi
    Ums entpacken kommt man bei sowas nicht rum.
    Entpack einfach temporär die einzelne Datei, anschließend, nach dem Schließen der Anwendung, lösch die .PDF wieder.


    VB.NET-Quellcode

    1. ''' <summary>
    2. ''' Extrahiert eine bestimmte Datei aus einem existierendem Zip-Archiv.
    3. ''' </summary>
    4. ''' <param name="Archive">Das Archiv in dem sich die zu extrahierende Datei befindet.</param>
    5. ''' <param name="fileToExtract">Die Datei, die aus dem Archiv extrahiert wedern soll.</param>
    6. ''' <param name="password">Das Passwort mit dem das Archiv geschützt ist.</param>
    7. ''' <param name="OutputDir">Der Outputordner in dem die extrahierte Datei abgelegt werden soll.</param>
    8. ''' <remarks>Benötigt die .NET Zusatzbibliothek "DOTNetZipLib".</remarks>
    9. Private Sub ExtractSingleFile(Archive As String, fileToExtract As String, password As String, Optional OutputDir As String = Nothing)
    10. If Not IO.File.Exists(Archive) Then Exit Sub
    11. Using zip As New ZipFile(Archive) With {.Password = password}
    12. Dim Entry As ZipEntry = zip(fileToExtract)
    13. If OutputDir Is Nothing OrElse Not IO.Directory.Exists(OutputDir) Then OutputDir = IO.Path.GetDirectoryName(Archive)
    14. If Entry IsNot Nothing Then Entry.Extract(OutputDir, ExtractExistingFileAction.OverwriteSilently)
    15. End Using
    16. End Sub


    Edit:// Hier eine kleine Methode die alles zusammenpackt. @michii
    Edit:// 2
    Für temporäre Sachen gibt es unter anderem den Temp-Ordner :)
    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData & "\Local\Temp")
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Gather“ ()