[font=verdana]Hallo, [/font]
ich bin in dem älteren Forumsbeitrag " PDF öffnen über Button" auf das kleine Programm "PDF Attachment Tool" von Herrn Vogel gestoßen. Es ist genau das was ich gesucht habe.
Ich bin gerade dabei über VB und Acrobat Professional automatisch Dateianhänge
an ausgewählte PDF-Dateien anzuhängen (z.B. die E-Mail als PDF drucken und die E-Mail Änhänge wiederum an die PDF-Datei anhängen).
Erste Frage: Gibt es Befehle mit denen ich das "PDF Attachment Tool" im Hintergrund aus VB ansteuern kann (z.B. wie bei FreePdf ) ?
Zweite Frage: Es gibt ein gutes Skript "Accessing PDF's" von einem Dani Vainstein
in dem sehr viel beschrieben wird, wie man über VB Acrobat Professional ansteuert.
Leider findet sich dort nichts, wie man Dateianhänge an PDF-Dateien handhabt.
Welche Möglichkeiten habe ich hier mit VB?
Danke bereits im Voraus
Drehfix
PDF Attachment Tool
PDF Attachment Tool
Hallo,
ich glaube, daß ich meine Frage(n) noch etwas konkretisieren sollte.
Ich habe mir angelesen, dass das eigentliche PDF-Dokument über mehrer Layer angewählt werden kann (Siehe Seite 1 im PDF-Anhang). In meinem Fall kommt für einen Datei-Anhang (File Attachment) der PD-Layer in Frage (Siehe Seite 2 Gelb im PDF-Anhang). Über diesen Layer kann das „PDFile Attachment Objekt“ angewählt werden!?
In den Beispielen, die ich im Internet gefunden habe wird über den PD-Layer das „PDDoc“ Objekt angewählt, welches das PDF-Dokument darstellt. Es gelingt mir jedoch nicht eine Beziehung zwischen dem eigentlichen PDF-Dokument (PDDoc) und dem Datei-Anhang (PDFileAttachment) herzustellen.
Frage: Wie sieht die genaue Vorgehensweise bei meinem kleinen Problem aus?
Welches sind die wesentlichen Programmierbefehle (Siehe ab Seite 4 im PDF-Anhang)?
Drehfix
ich glaube, daß ich meine Frage(n) noch etwas konkretisieren sollte.
Ich habe mir angelesen, dass das eigentliche PDF-Dokument über mehrer Layer angewählt werden kann (Siehe Seite 1 im PDF-Anhang). In meinem Fall kommt für einen Datei-Anhang (File Attachment) der PD-Layer in Frage (Siehe Seite 2 Gelb im PDF-Anhang). Über diesen Layer kann das „PDFile Attachment Objekt“ angewählt werden!?
In den Beispielen, die ich im Internet gefunden habe wird über den PD-Layer das „PDDoc“ Objekt angewählt, welches das PDF-Dokument darstellt. Es gelingt mir jedoch nicht eine Beziehung zwischen dem eigentlichen PDF-Dokument (PDDoc) und dem Datei-Anhang (PDFileAttachment) herzustellen.
Frage: Wie sieht die genaue Vorgehensweise bei meinem kleinen Problem aus?
Welches sind die wesentlichen Programmierbefehle (Siehe ab Seite 4 im PDF-Anhang)?
Drehfix
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
PDF Attachment Tool
Hallo,
ich habe eine Lösung gefunden.
Kern der Lösung ist das JavaScriptObject von Acrobat
und hier der "ImportDataObject"-Befehl.
Mit folgenden Code wird ein Datei-Anhang an eine PDF-Datei
angehängt:
Sub PDF_Datei_Anhang()
'Es muß Acrobat Professional vorhanden sein!
'Fügt ein Dateianhang (doc,xls,jpg....) an ein PDF-Dokument
Dim AcroApp As Acrobat.CAcroApp
Dim pdfDoc As Acrobat.CAcroPDDoc
Dim jso As Object
Dim pdfPfad As Variant
Dim x1 As Variant
pdfPfad = "D:\Zwischenspeicher_E-Mail\Hallo.pdf"
'Datei Pfad des PDF-Dokumentes
Set AcroApp = CreateObject("AcroExch.App")
Set pdfDoc = CreateObject("AcroExch.PDDoc")
'Das PDF-Dokument wird im Hintergrund geöffnet
If pdfDoc.Open(pdfPfad) Then
Set jso = pdfDoc.GetJSObject
'öffnen des JavaScriptObject
x1 = jso.importDataObject("mine", "/d/Zwischenspeicher/Arbeitszeit.xls")
'ImportDataObject-Befehl für den Datei-Anhang
'man achte bitte auf die Schreibweise des Pfades
'If pdfDoc.Save(PDSaveFull, "C:\temp\MergedFile.pdf") = False Then
'oder
If pdfDoc.Save(PDSaveFull, pdfPfad) = False Then
MsgBox "Cannot save the modified document"
End If
pdfDoc.Close
Set pdfDoc = Nothing
End If
AcroApp.Exit
Set AcroApp = Nothing
End Sub
Die PDF-Datei muß dabei nicht geöffnet werden.
Drehfix
ich habe eine Lösung gefunden.
Kern der Lösung ist das JavaScriptObject von Acrobat
und hier der "ImportDataObject"-Befehl.
Mit folgenden Code wird ein Datei-Anhang an eine PDF-Datei
angehängt:
Sub PDF_Datei_Anhang()
'Es muß Acrobat Professional vorhanden sein!
'Fügt ein Dateianhang (doc,xls,jpg....) an ein PDF-Dokument
Dim AcroApp As Acrobat.CAcroApp
Dim pdfDoc As Acrobat.CAcroPDDoc
Dim jso As Object
Dim pdfPfad As Variant
Dim x1 As Variant
pdfPfad = "D:\Zwischenspeicher_E-Mail\Hallo.pdf"
'Datei Pfad des PDF-Dokumentes
Set AcroApp = CreateObject("AcroExch.App")
Set pdfDoc = CreateObject("AcroExch.PDDoc")
'Das PDF-Dokument wird im Hintergrund geöffnet
If pdfDoc.Open(pdfPfad) Then
Set jso = pdfDoc.GetJSObject
'öffnen des JavaScriptObject
x1 = jso.importDataObject("mine", "/d/Zwischenspeicher/Arbeitszeit.xls")
'ImportDataObject-Befehl für den Datei-Anhang
'man achte bitte auf die Schreibweise des Pfades
'If pdfDoc.Save(PDSaveFull, "C:\temp\MergedFile.pdf") = False Then
'oder
If pdfDoc.Save(PDSaveFull, pdfPfad) = False Then
MsgBox "Cannot save the modified document"
End If
pdfDoc.Close
Set pdfDoc = Nothing
End If
AcroApp.Exit
Set AcroApp = Nothing
End Sub
Die PDF-Datei muß dabei nicht geöffnet werden.
Drehfix