Konvertierung ganzer Ordnerstruktur in PDF (Word-Dateien)
Hallo Zusammen,
ich benötige eine Anwendung die in der Lage ist Dateien (Word) einer gesamten Ordnerstruktur in PDFs zu wandeln. Wichtig wäre dass am Ende die Ordnerstruktur erhalten bleibt. Das Ganze sollte auf einem Terminal Server 2008 R2 lauffähig sein.
FreePDF wurde u.a. getestet und würde grundsätzlich funktionieren. Problem ist aber, dass der "FreePDF Assistant" laufen muss und dieser sich auf einem Terminal Server nicht automatisch bei Anmeldung des Benutzers startet.
Mit zwei Lösungen wäre ich zufrieden.
1. Empfehlung eines Tools welches möglichst kostenfrei aber wenigstens "günstig" ist
2. Einen Tipp wie ich den "FreePDF Assitant" in jeder Benutzersession automatisch zum laufen bringe.
Herzlichen Dank
ich benötige eine Anwendung die in der Lage ist Dateien (Word) einer gesamten Ordnerstruktur in PDFs zu wandeln. Wichtig wäre dass am Ende die Ordnerstruktur erhalten bleibt. Das Ganze sollte auf einem Terminal Server 2008 R2 lauffähig sein.
FreePDF wurde u.a. getestet und würde grundsätzlich funktionieren. Problem ist aber, dass der "FreePDF Assistant" laufen muss und dieser sich auf einem Terminal Server nicht automatisch bei Anmeldung des Benutzers startet.
Mit zwei Lösungen wäre ich zufrieden.
1. Empfehlung eines Tools welches möglichst kostenfrei aber wenigstens "günstig" ist
2. Einen Tipp wie ich den "FreePDF Assitant" in jeder Benutzersession automatisch zum laufen bringe.
Herzlichen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 271357
Url: https://administrator.de/contentid/271357
Ausgedruckt am: 20.11.2024 um 08:11 Uhr
6 Kommentare
Neuester Kommentar
Moin,
z.B. mit einem VBS (installiertes Word vorausgesetzt)
Gruß jodel32
z.B. mit einem VBS (installiertes Word vorausgesetzt)
'Pfad zu den Dokumenten
Const strPathDocs = "C:\Ordner\Daten"
'Logfile für eventuell auftretende Fehler
Const strPathLogfile = "c:\Ordner\Daten\logfile.txt"
'Erweiterungen der Dateien die bearbeitet werden sollen
arrFileExtensions = Array("doc","docx","docm")
' -------------------------------------------------
Set fso = CreateObject("Scripting.Filesystemobject")
Set objWord = CreateObject("Word.Application")
Set objShell = CreateObject("Wscript.Shell")
Dim intDocCount, intErrCount
'Applikation anzeigen und eventuelle Dialoge für Batchbetrieb unterdrücken
objWord.Visible = True
objWord.DisplayAlerts = 0
'Im Ordner Rekursiv alle Word-Dokumente verarbeiten
parseFolders fso.GetFolder(strPathDocs), True
'Das Anzeigen von Benachrichtigungen wieder aktivieren und Word schließen
objWord.DisplayAlerts = -1
objWord.Quit True
Set fso = Nothing
Set objWord = Nothing
If intErrCount = 0 Then
MsgBox "Es wurden insgesamt " & intDocCount & " Dokumente verarbeitet.", vbInformation, "Verarbeitung abgeschlossen"
Else
MsgBox "Es wurden insgesamt " & intDocCount & " Dokumente verarbeitet." & vbCrLf & "Davon ist bei " & intErrCount & " Dokumenten ein Fehler aufgetreten!", vbInformation, "Verarbeitung abgeschlossen"
objShell.Run "Notepad.exe " & strPathLogfile
End If
'Ende
Function parseFolders(fldr, boolRecursion)
For Each file In fldr.Files
For i = 0 To UBound(arrFileExtensions)
If LCase(arrFileExtensions(i)) = LCase(fso.GetExtensionName(file.Path)) Then
intDocCount = intDocCount + 1
'Fehlerbehandlung für den Fall das ein Fehler beim Öffnen eines Dokumentes auftritt
On Error Resume Next
Set objDoc = objWord.Documents.Open(file.Path)
If Err.Number <> 0 Then
intErrCount = intErrCount + 1
WriteLog "!!ERROR!! Fehler beim öffnen der Datei: -> '" & file.Path & "'"
Else
'----- Dokument als PDF speichern -----------
strPathPDF = file.ParentFolder & "\" & fso.GetBasename(file.Path) & ".pdf"
objDoc.SaveAs strPathPDF,17
objDoc.Close
WriteLog "Dokument wurde zu PDF konvertiert: ->'" & file.Path & "' --> '" & strPathPDF & "'"
End if
Exit For
End If
Next
Next
'Funktion wird rekursiv aufrufen wenn das durchsuchen aller Unterordner gewünscht ist
If boolRecursion Then
For Each subFolder in fldr.SubFolders
parseFolders subFolder, True
Next
End If
End Function
Function WriteLog(strText)
Set objLog = fso.OpenTextFile(strPathLogfile,8,True)
logline = Now & " - " & strText
objLog.WriteLine(logline)
objLog.Close
End Function
Hallo Zusammen, hallo Jodel,
Ich suche mir schon seit Tagen einen Wolf nach einer Lösung vielen vorhandene Worddateien in pdf zu konvertieren. Zufällig bin ich nun auf diesen Beitrag gestossen und hoffe von euch Unterstützung erhalten zu können.
Es sind vielen (mehrere tauschend) Worddokumente (unterschiedliche Word-Versionen) in verschiedenen Ordnern mit Unterordnern die in PDF konvertiert werden sollen. Die Problematik besteht nun darin, das in vielen, jedoch nicht allen Dokumente, ein Datumfeld mit der Funktion "Date" enthalten ist. Diese Funktion bewirkt, das nicht nur beim Öffnen sondern auch schon beim Drucken nach PDF24 oder konvertieren mit PDF-Creator das aktuelle Datum im PDF-Dokument, aber auch dann im Word-Dokument hinterlegt wird (Ich gehe davon aus das dies auch bei anderen PDF-Konvertern so sein wird). Dies soll jedoch nicht passieren!!!
Mein Lösungsansatz wäre nun ein Programm/VBS ähnlich der Lösung von Jodel, jedoch mit der Änderung der Feldfunktion von "Date" nach "Printdate". Sobald dann aus den so angepassten Word-Dokumenten die PDF-Dateien erststellt sind, wird nurnoch mit den PDF's gearbeitet und die anderen Word-Dateien mit schreibschutz versehen gesichert.
Leider fehlen mir selbst die Basics im Programmieren um die Aufgabe zu lösen, weshalb ich hoffe das ich hier die benötigte Unterstützung erhalte.
Vielen dank im Voraus !!!
starcook
Ich suche mir schon seit Tagen einen Wolf nach einer Lösung vielen vorhandene Worddateien in pdf zu konvertieren. Zufällig bin ich nun auf diesen Beitrag gestossen und hoffe von euch Unterstützung erhalten zu können.
Es sind vielen (mehrere tauschend) Worddokumente (unterschiedliche Word-Versionen) in verschiedenen Ordnern mit Unterordnern die in PDF konvertiert werden sollen. Die Problematik besteht nun darin, das in vielen, jedoch nicht allen Dokumente, ein Datumfeld mit der Funktion "Date" enthalten ist. Diese Funktion bewirkt, das nicht nur beim Öffnen sondern auch schon beim Drucken nach PDF24 oder konvertieren mit PDF-Creator das aktuelle Datum im PDF-Dokument, aber auch dann im Word-Dokument hinterlegt wird (Ich gehe davon aus das dies auch bei anderen PDF-Konvertern so sein wird). Dies soll jedoch nicht passieren!!!
Mein Lösungsansatz wäre nun ein Programm/VBS ähnlich der Lösung von Jodel, jedoch mit der Änderung der Feldfunktion von "Date" nach "Printdate". Sobald dann aus den so angepassten Word-Dokumenten die PDF-Dateien erststellt sind, wird nurnoch mit den PDF's gearbeitet und die anderen Word-Dateien mit schreibschutz versehen gesichert.
Leider fehlen mir selbst die Basics im Programmieren um die Aufgabe zu lösen, weshalb ich hoffe das ich hier die benötigte Unterstützung erhalte.
Vielen dank im Voraus !!!
starcook
Moin starkoch,
Zeile 43 folgendes einfügen
feddich. Mehr Support gibt's von mir nur gegen Cash.
Gruß jodel32
Zeile 43 folgendes einfügen
For Each f In objDoc.Fields
If InStr(1, f.Code.Text, "DATE", 1) > 0 And InStr(1, f.Code.Text, "PRINTDATE", 1) = 0 Then
f.Code.Text = Replace(f.Code.Text, "DATE", "PRINTDATE", 1, 1, 1)
f.Update
End If
Next
Gruß jodel32
Hallo Jodel,
bin nun endlich dazu gekommen an der Sache weiter zu arbeiten. So langsam steige ich durch. Allerdings bekomme ich einen Laufzeitfehler 424 in Zeile 34 den ich nicht interpretiert bekomme und was bedeutet die 17 in Zeiler 45 ?
Wäre nett wenn du mir da was Licht ins Dunkel bringen könntest.
Danke im Voraus !!!
beste Grüße
starcook
bin nun endlich dazu gekommen an der Sache weiter zu arbeiten. So langsam steige ich durch. Allerdings bekomme ich einen Laufzeitfehler 424 in Zeile 34 den ich nicht interpretiert bekomme und was bedeutet die 17 in Zeiler 45 ?
Wäre nett wenn du mir da was Licht ins Dunkel bringen könntest.
Danke im Voraus !!!
beste Grüße
starcook