Guten Tag VB-Begeisterte,
nach langer Zeit melde ich mich mal wieder mit einem Problem, welches mir Kopfzerbrechen bereitet.
Ich habe ein WinForms-Projekt mit VB.NET geschrieben, welches mir mehrere PDF-Dokumente in ein einzelnes PDF-Dokument speichern kann. Realisiert wird das Ganze mit der Acrobat-Library, welche ich als Verweis hinzugefügt habe.
Die Dateien werden mit Hilfe eines
Nur gibt es jetzt das Problem, dass eine Datei, welche z.B. schreib- oder passwortgeschützt ist, nicht mit den anderen PDF-Dokumenten zusammengefügt werden kann. Mir wird aber kein Fehlercode o. Ä. angezeigt.
Was ich jetzt machen möchte ist, dass ich innerhalb einer For-Each-Schleife
Ich habe schon so viele Möglichkeiten (FileInfo,FileStream) ausprobiert, aber leider ohne Erfolg.
Gibt es eine Möglichkeit, die Dokumentsicherheit innerhalb von Acrobat aufzurufen und auszulesen, um damit in meinem VB-Projekt weiterzuarbeiten?
In der Adobe-Support-Community scheint dieses Problem auch nicht zu existieren.
P.S.: Ich weiß, dass andere Anbieter (iText,etc.) auch sowas anbieten, aber ich arbeite nun mal mit Acrobat.
Beste Grüße!
nach langer Zeit melde ich mich mal wieder mit einem Problem, welches mir Kopfzerbrechen bereitet.
Ich habe ein WinForms-Projekt mit VB.NET geschrieben, welches mir mehrere PDF-Dokumente in ein einzelnes PDF-Dokument speichern kann. Realisiert wird das Ganze mit der Acrobat-Library, welche ich als Verweis hinzugefügt habe.
Die Dateien werden mit Hilfe eines
Mulitselect-OpenFileDialog
in eine ListBox
geladen. Die Einträge dieser ListBox werden später im Sub btnMergeFiles_Click
zum Zusammenfügen weiterverwendet.VB.NET-Quellcode
- Private Sub btnMergeFiles_Click(sender As Object, e As EventArgs) Handles btnMergeFiles.Click
- Imports Acrobat
- Imports System.IO
- Dim iNumPages as Integer
- Dim iNumPagesSub as Integer
- Dim appAcrobat as Acrobat.AcroApp
- Dim apddSummary as Acrobat.AcroPDDoc
- Dim apddSingle as Acrobat.AcroPDDoc
- appAcrobat = New Acrobat.AcroApp
- apddSummary = New Acrobat.AcroPDDoc
- apddSingle = New Acrobat.AcroPDDoc
- '
- ' For-Schleife mit If-Abfrage, ob Datei schreib- oder passwortgeschützt
- '
- apddSummary.Open(Cstr(Me.ListBox1.Items(0)))
- For Each strFound as String in Me.ListBox1.Items
- If Me.ListBox1.Items.IndexOf(strFound) > 0 Then
- iNumPages = apddSummary.GetNumPages()
- apddSingle.Open(strFound)
- iNumPagesSub = apddSingle.GetNumPages()
- apddSummary.InsertPages(iNumPages -1, apddSingle, 0, iNumPagesSub, CInt(True))
- apddSingle.Close()
- End If
- Next
- '
- ' Hier geht der Code weiter
- '
- End Sub
- End Class
Nur gibt es jetzt das Problem, dass eine Datei, welche z.B. schreib- oder passwortgeschützt ist, nicht mit den anderen PDF-Dokumenten zusammengefügt werden kann. Mir wird aber kein Fehlercode o. Ä. angezeigt.
Was ich jetzt machen möchte ist, dass ich innerhalb einer For-Each-Schleife
Zeile 16
eine If-Abfrage starte, die jedes eingelesene Dokument auf die Sicherheit überprüft und mir, falls etwas vorliegt, eine Fehlermeldung ausgibt und diese Datei überspringt.Ich habe schon so viele Möglichkeiten (FileInfo,FileStream) ausprobiert, aber leider ohne Erfolg.
Gibt es eine Möglichkeit, die Dokumentsicherheit innerhalb von Acrobat aufzurufen und auszulesen, um damit in meinem VB-Projekt weiterzuarbeiten?
In der Adobe-Support-Community scheint dieses Problem auch nicht zu existieren.
P.S.: Ich weiß, dass andere Anbieter (iText,etc.) auch sowas anbieten, aber ich arbeite nun mal mit Acrobat.
Beste Grüße!