Dateien in PDF umwandeln
Hallo,
ich bin neu hier, habe noch nicht viel mit Batch Dateien gemacht.
Da mich das Thema aber interessiert habe ich nun versucht ein Patch zu schreiben welches in verschiedenen Ordnern mir XLS Dateien in PDF Dateien umwandeln.
Ich konnte schon einige Informationen aus dem Forum raus holen.
Jetzt jedoch komme ich nicht mehr weiter.
Vielleicht kann mir jemand helfen.
Gruss
Roland
[Edit Codeformatierer] Gebibert. [/Edit]
ich bin neu hier, habe noch nicht viel mit Batch Dateien gemacht.
Da mich das Thema aber interessiert habe ich nun versucht ein Patch zu schreiben welches in verschiedenen Ordnern mir XLS Dateien in PDF Dateien umwandeln.
Ich konnte schon einige Informationen aus dem Forum raus holen.
Jetzt jedoch komme ich nicht mehr weiter.
Vielleicht kann mir jemand helfen.
Gruss
Roland
@echo off
cls
setlocal
rem Dateityp
set filetype=*.xls
for /r "%~1" %%a in (%filetype%) do call :bearbeite "%%a"
:bearbeite
echo Datei %1
Pause
for /f "delims=" %%i in ('dir /b %Datei%') do @set dokument=%%~ni
echo Datei %1
echo %dokument%
Pause
: PDF erzeugen
"C:\Program Files (x86)\PDFCreator\COM\Windows Scripting Host\VBScripts\Convert2PDF.vbs" "%dokument%"
echo %dokument%
Pause
endlocal
[Edit Codeformatierer] Gebibert. [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 163394
Url: https://administrator.de/forum/dateien-in-pdf-umwandeln-163394.html
Ausgedruckt am: 09.04.2025 um 01:04 Uhr
11 Kommentare
Neuester Kommentar

moin und willkommen,
Gruß
- schau dir bitte erst mal an
- und dann gerne die rot markierte Formatierungshilfe - Stichwort Codeblöcke
- deine erste for schleife sieht sehr merkwürdig aus "%~1" - ist das eine Drag & Drop Batch ? - (ein Patch ist was anderes....)
- auch der Parameter "%Datei%" - ich sehe den nur einmal
- ergo auch mal in den Anleitungen nach der For Schleifen Anleitung suchen und lesen.
Gruß

Moin,
sorry, aber bitte lese dir nochmal meine Zeilen genau durch.
genauso das off vom Echo ....
btw: Wenn Du jetzt denkst, du hast es hier mit einem Hilfswilligen zu tun, der dir zuerst den kleinen Finger reicht und nur, wenn ihm das Resultat gefällt dieser dir die ganze Hand reicht....
Dann tuts mir leid, dass du mich so schnell durchschaut hast und sei froh, dass bis jetzt aus dem kleinen Finger kein erhobener Zeige oder Mittelfinger geworden ist
Gruß
sorry, aber bitte lese dir nochmal meine Zeilen genau durch.
[Edit Codeformatierer] Gebibert. [/Edit]
...ist doch einen unnötige Arbeitsbeschaffungsmassnahme¶genauso das off vom Echo ....
- dann hab ich keine Ahnung, was du willst - und glaub mir ich bin da nicht genauer, als der Rechner es von mir verlangt.
- pro jpg eine Seite und alle Seiten in eine PDF
- müssen die Bildinformationen ausgelesen werden um die Bilder evtl. zu drehen
- alle jpg oder immer Anzahl x auf eine Seite und diese in ein PDF
- usw usf
btw: Wenn Du jetzt denkst, du hast es hier mit einem Hilfswilligen zu tun, der dir zuerst den kleinen Finger reicht und nur, wenn ihm das Resultat gefällt dieser dir die ganze Hand reicht....
Dann tuts mir leid, dass du mich so schnell durchschaut hast und sei froh, dass bis jetzt aus dem kleinen Finger kein erhobener Zeige oder Mittelfinger geworden ist
Gruß
Moin roborol,
willkommen im Forum.
Um den Beitrag nicht über Gebühr in die Länge zu ziehen die kleine Aufklärung zum "Gebiberten".
T-Mo war ein wenig vergrätzt, weil du - nachdem er dich auf die "Codeformatierung" hingewiesen hat und nachdem ich dir deinen Quelltext im Eröffnungsbeitrag in lesbare Form gebracht habe, in deiner Antwort wieder unformatierten Fliesstext verwendet hast.
Auch wenn man/frau es T-Mo manchmal nicht anmerkt -eigentlich ist er schüchtern und sensibel, und es fällt ihm schon schwer genug, mit diesen klitzenkleinen rundum abgerundeten Zaunpfählchen zu winken und er könnte schon gar nicht sein Missfallen auf eine direkte, vielleicht ruppig wirkende Art kundtun.
Also ignorier das Geplänkel, durchscanne T-Mo's Durch-die-Blume-Geflöte lieber zweimal nach versteckten und hilfreichen Details.
Wenn er schon anfragt, ob du seinen Kommentar gelesen hast, dann hast du etwas übersehen..
Grüße
Biber
willkommen im Forum.
Um den Beitrag nicht über Gebühr in die Länge zu ziehen die kleine Aufklärung zum "Gebiberten".
T-Mo war ein wenig vergrätzt, weil du - nachdem er dich auf die "Codeformatierung" hingewiesen hat und nachdem ich dir deinen Quelltext im Eröffnungsbeitrag in lesbare Form gebracht habe, in deiner Antwort wieder unformatierten Fliesstext verwendet hast.
Auch wenn man/frau es T-Mo manchmal nicht anmerkt -eigentlich ist er schüchtern und sensibel, und es fällt ihm schon schwer genug, mit diesen klitzenkleinen rundum abgerundeten Zaunpfählchen zu winken und er könnte schon gar nicht sein Missfallen auf eine direkte, vielleicht ruppig wirkende Art kundtun.
Also ignorier das Geplänkel, durchscanne T-Mo's Durch-die-Blume-Geflöte lieber zweimal nach versteckten und hilfreichen Details.
Wenn er schon anfragt, ob du seinen Kommentar gelesen hast, dann hast du etwas übersehen..
Grüße
Biber
Hallo roborol.
Hier siehst du was mit gemeint ist.
Was auch immer für Fehler in deinem Script vorkommen, das was du vorhast wirst du eh nicht damit erreichen.
1. Du willst laut deinem Intro letztlich XLS Dateien mit einem Tool namens "ConvertJPEG2PDF.vbs" verarbeiten? Das wird nichts.
2. Du willst mehrere Bilder in einem PDF File zusammen fassen, aber das benutzte Tool lässt das nicht zu.
Hier mal der entsprechende Ausschnitt aus dem VBScript:
Für jede, als Argument übergebene Datei, wird eine eigene PDF Datei erzeugt.
Grüße
rubberman
Hier siehst du was mit gemeint ist.
Was auch immer für Fehler in deinem Script vorkommen, das was du vorhast wirst du eh nicht damit erreichen.
1. Du willst laut deinem Intro letztlich XLS Dateien mit einem Tool namens "ConvertJPEG2PDF.vbs" verarbeiten? Das wird nichts.
2. Du willst mehrere Bilder in einem PDF File zusammen fassen, aber das benutzte Tool lässt das nicht zu.
Hier mal der entsprechende Ausschnitt aus dem VBScript:
Set PDFCreator = Wscript.CreateObject("PDFCreator.clsPDFCreator", "PDFCreator_")
PDFCreator.cStart "/NoProcessingAtStartup"
For i = 0 to objArgs.Count - 1
With PDFCreator
ifname = objArgs(i)
If Not fso.FileExists(ifname) Then
MsgBox "Can't find the file: " & ifname, vbExclamation + vbSystemModal, AppTitle
Exit For
End If
.cConvertFile ifname, CompletePath(fso.GetParentFolderName(ifname)) & fso.GetBaseName(ifname) & ".pdf"
End With
Next
Grüße
rubberman
Hallo roborol und auch von mir ein Willkommen!
Grüße
bastla
Da brauche ich dann woll eine andere Möglichkeit aus den nun erzeugten pdf Dateien ein gesamte pdf zu erzeugen.
Sieh Dir einmal pdftk an ...Grüße
bastla

Hallo roborol!
Hier mal ein VBS-Beispiel, dass mit PDFCreater alle *.jpg-Dateien eines Ordners in eine *.pdf-Datei konvertiert.
Mit Excel-Dateien geht's anstatt mit 'pdfJob.cAddPrintjob' dann in etwa so:
Gruß Dieter
Hier mal ein VBS-Beispiel, dass mit PDFCreater alle *.jpg-Dateien eines Ordners in eine *.pdf-Datei konvertiert.
Const jpgPath = "E:\Test\Bilder"
Const pdfName = "Test.pdf"
Const pdfPath = "E:\Test\Bilder\"
Dim Fso, File, pdfJob, jobCount
Set Fso = CreateObject("Scripting.FileSystemObject")
Set pdfJob = CreateObject("PDFCreator.clsPDFCreator")
If pdfJob.cStart("/NoProcessingAtStartup") = False Then
MsgBox "PDFCreator konnte nicht gestartet werden!.", vbExclamation, "Fehler"
End If
With pdfJob
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = pdfPath
.cOption("AutosaveFilename") = pdfName
.cOption("AutosaveFormat") = 0 'Pdf-Format
.cClearCache
End With
jobCount = 0
For Each File In Fso.GetFolder(jpgPath).Files
If LCase(Fso.GetExtensionName(File.Name)) = "jpg" Then
pdfJob.cAddPrintjob File: jobCount = jobCount + 1
End If
Next
If jobCount Then
With pdfJob
Do Until .cCountOfPrintjobs = jobCount: Loop
.cCombineAll
.cPrinterStop = False
End With
Do Until Fso.FileExists(pdfPath & pdfName): Loop
End If
pdfJob.cClose
Mit Excel-Dateien geht's anstatt mit 'pdfJob.cAddPrintjob' dann in etwa so:
For Each File In Fso.GetFolder(xlsPath).Files
If LCase(Fso.GetExtensionName(File.Name)) = "xls" Then
Set Wkb = GetObject(File)
For Each Wks In Wkb.Worksheets
Wks.PrintOut , , 1, , "PDFCreater": jobCount = jobCount + 1
Next
Wkb.Close False
End If
Next
Gruß Dieter
[OT]
Grüße
Biber
[/OT]
Zitat von @roborol:
Ich habs mit dem pdftk hin bekommen.
Von dir Bastla habe im Forum einige Beiträge zum pdftk gefunden die haben zum gewünschten Ergebnis geführt.
Ein Dankeschön an alle für die rasche Hilfe !!!
Dann setze ich den Beitrag auf "Gelöst" für dich.Ich habs mit dem pdftk hin bekommen.
Von dir Bastla habe im Forum einige Beiträge zum pdftk gefunden die haben zum gewünschten Ergebnis geführt.
Ein Dankeschön an alle für die rasche Hilfe !!!
Grüße
Biber
[/OT]