Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mehrere Dateien(pdf) einlesen und in ein anderes Dateiformat konvertieren

Frage Entwicklung Batch & Shell

Mitglied: Ulle123

Ulle123 (Level 1) - Jetzt verbinden

01.10.2007, aktualisiert 05.10.2007, 7523 Aufrufe, 4 Kommentare

Hallo Community,

ich habe ein Problem bei der Erstellung einer Batch-Datei die mir PDf´s in ein Bitmap oder sonstiges Bildformat konvertiert.
Nach einigen Google Recherchen bin ich auf folgendes Script gestoßen. Dieses benutzt zum Konvertieren das Programm Ghostscript



@echo off %debug%
if not exist %1.pdf goto usage
:doit
echo -I"C:\Programme\gs\gs8.53\bin\;C:\Programme\gs\fonts" >>_.cmd
echo -sDEVICE=bmp256 >>_.cmd
echo -r100x100 >>_.cmd
echo -dNOPAUSE >>_.cmd
echo -sOutputFile=%1%%d.bmp >>_.cmd
gswin32.exe @_.cmd %1.pdf -c quit
rem del _.cmd
goto end
:usage
echo.
echo Aufruf: pdf2bmp Dateiname
echo Die Namenserweiterung .PDF darf nicht mit
echo angegeben werden
echo.
:end


Dieses Script funktioniert für einzelne Pdf´s auch wunderbar. Nur ist es sehr aufwendig, in der Kommandozeile für jede Pdf dieses auszuführen.

Nun wollte ich gerne wissen, wie ich es am besten anstelle, dass er mir mit dem Script alle pdf´s die sich in dem jeweiligen Ordner befinden in bmp etc. umwandelt? Leider besitze ich keine guten Kenntnisse in sachen Batch. Bin für jede Hilfe dankbar.


gruß

Ulle
Mitglied: talkinghands
01.10.2007 um 11:52 Uhr
Hi,
ich hatte die Tage ein ähnlich gelagertes Problem und habe es mit VBScript gelöst.
Nur musste ich hier XML Dateien nach PDF konvertieren


Dim fso, WSHShell
Pfad = "H:\GEPACH\D2D\DATA\1999854101\280920070021\"
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Pfad)
Set fs = f.Files
Params1 = " -i "
Params2 = " -o "
For each fl in fs
Datei = Pfad&fl.name
If UCase(Right(Datei,3))="XML" Then
WSHShell.Run "daleuv2pdf.exe "& Params1 & Datei & Params2 & Pfad,0,True
End If
Next


vielleicht hilft's ja

ciao
TH
Bitte warten ..
Mitglied: miniversum
01.10.2007 um 13:41 Uhr
Wenn du bei Batch bleiben wilslt kansn tdu auch einfach folgende Änderungen machen:
01.
@echo off 
02.
set Verzeichnis="C:\pdfs\" & REM Verzeichniss indem sich die PDFs befinden. Wird "" angegeben wird das aktuelle Verzeichnis genommen inder die Batch liegt 
03.
 
04.
echo -I"C:\Programme\gs\gs8.53\bin\;C:\Programme\gs\fonts" >>_.cmd 
05.
echo -sDEVICE=bmp256 >>_.cmd 
06.
echo -r100x100 >>_.cmd 
07.
echo -dNOPAUSE >>_.cmd 
08.
echo -sOutputFile=%1%%d.bmp >>_.cmd 
09.
 
10.
FOR /F "delims=" %%f in ('dir /B /A-D %verzeichnis%*.pdf') do gswin32.exe @_.cmd "%%f" -c quit 
11.
rem del _.cmd
miniversum
Bitte warten ..
Mitglied: bastla
02.10.2007 um 08:30 Uhr
Hallo Ulle123!

Eine andere Batch-Variante (allerdings ungetestet, daher am besten mit einem Test-Verzeichnis mit nur 2 oder 3 Dateien versuchen):
01.
@echo off 
02.
set "Verzeichnis=%~1\" 
03.
if "%~1"=="" set Verzeichnis= 
04.
for %%f in ("%Verzeichnis%*.pdf") do ( 
05.
	echo -I"C:\Programme\gs\gs8.53\bin\;C:\Programme\gs\fonts" >_.cmd 
06.
	echo -sDEVICE=bmp256 >>_.cmd 
07.
	echo -r100x100 >>_.cmd 
08.
	echo -dNOPAUSE >>_.cmd 
09.
	echo -sOutputFile="%%~dpnf.bmp" >>_.cmd 
10.
	gswin32.exe @_.cmd "%%f" -c quit 
11.
12.
del _.cmd
Beim Aufruf kann ein Verzeichnis übergeben werden, ansonsten wird die Konvertierung für das aktuelle Verzeichnis vorgenommen.
Mangels näherer Kenntnis von Ghostscript (und besonders der Commandline-Argumente) kann ich nicht abschätzen, ob die folgende weitere, von oben abgeleitete, Version (diesmal ohne Parameterfile) tatsächlich so funktionieren kann:
01.
@echo off 
02.
set "Verzeichnis=%~1\" 
03.
if "%~1"=="" set Verzeichnis= 
04.
for %%f in ("%Verzeichnis%*.pdf") do gswin32.exe -I"C:\Programme\gs\gs8.53\bin\;C:\Programme\gs\fonts" -sDEVICE=bmp256 -r100x100 -dNOPAUSE -sOutputFile="%%~dpnf.bmp" "%%f" -c quit
Grüße
bastla
Bitte warten ..
Mitglied: Ulle123
05.10.2007 um 14:18 Uhr
Erst mal vielen Dank an euch für die Hilfe die ich hier bekommen habe.

@talkinghands wenn ich es in Vb versucht hätte umzusetzen, wäre dies bestimmt ne gute Möglichkeit. Dank dir.



@miniversum

das script konvertiert mir zwar Pdfs nur leider muckt Ghostscript mit Fehlermeldungen die ich nicht deuten kann rum. Beende ich diese, macht er zwar anstandslos weiter, jedoch werden alle erzeugen Files überschrieben.

@bastla

Beide Scripts funktionieren wunderbar, dass einzige was ich noch ergänzen musste, war bei –sOutputFile %%d (–sOutputFile=“%%~dpnf%%d.bmp“) für laufende Nummer. Sonst habe ich das Problem, dass wenn eine Pdf mehre Seiten hat nur die erste konvertiert wird.


Also dann danke noch mal und allen ein angenehmes We


Gruß

ulle
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

Windows 7
gelöst Mehrere Dateien in Windows umbenennen mit Batchjob (4)

Frage von Jeduja zum Thema Windows 7 ...

Microsoft Office
Excel VBA "SVERWEIS" über mehrere Dateien in Ordner (2)

Frage von Acht85 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...