Bilder zu Pdf-Datei automatisch hinzufügen
Hallo zusammen,
ich suche nach einer Lösung um Arbeitsberichte mit den dazugehörigen Fotos automatisch zu verbinden.
Es werden in unregelmäßigen die Arbeitsberichte im Format Arbeitsberichtnummer.pdf und wenn Fotos mit gesendet worden sind Arbeitsberichtnummer_1.jpg( fortlaufend) in einen Ordner geladen.
Zum Beispiel 508001.pdf, 508001_1.jpg, 508001_2.jpg, 508001_3.jpg
Das Ergebnis sollte jetzt nach dem starten von z.B. einem Script in einem anderen Order nur ein Pfd in diesem Fall mit 508001.pdf und als zusätzliche Seiten im Pdf die 3 Fotos. Die verarbeiteten Daten könnten danach gelöscht werden, müssen aber nicht.
Es müsste dabei auch berücksichtigt werden, das in diesen Ordner auch Pdf´s kommen, wo keine Bilder dabei sind. Das Ziel ist einen Ordner zu erhalten wo alle Arbeitsberichte enthalten sind und wenn Fotos dabei waren, als weitere Seiten eingefügt.
Ich suche schon sehr langende aber nichts womit ich es als automatischen Prozess ablaufen kann.
Vielleicht fällt euch eine eine Lösung ein,
Grüße Diddy0815
ich suche nach einer Lösung um Arbeitsberichte mit den dazugehörigen Fotos automatisch zu verbinden.
Es werden in unregelmäßigen die Arbeitsberichte im Format Arbeitsberichtnummer.pdf und wenn Fotos mit gesendet worden sind Arbeitsberichtnummer_1.jpg( fortlaufend) in einen Ordner geladen.
Zum Beispiel 508001.pdf, 508001_1.jpg, 508001_2.jpg, 508001_3.jpg
Das Ergebnis sollte jetzt nach dem starten von z.B. einem Script in einem anderen Order nur ein Pfd in diesem Fall mit 508001.pdf und als zusätzliche Seiten im Pdf die 3 Fotos. Die verarbeiteten Daten könnten danach gelöscht werden, müssen aber nicht.
Es müsste dabei auch berücksichtigt werden, das in diesen Ordner auch Pdf´s kommen, wo keine Bilder dabei sind. Das Ziel ist einen Ordner zu erhalten wo alle Arbeitsberichte enthalten sind und wenn Fotos dabei waren, als weitere Seiten eingefügt.
Ich suche schon sehr langende aber nichts womit ich es als automatischen Prozess ablaufen kann.
Vielleicht fällt euch eine eine Lösung ein,
Grüße Diddy0815
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 481844
Url: https://administrator.de/contentid/481844
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
8 Kommentare
Neuester Kommentar
Wenn die Bilder den gleichen Namen haben und am gleichen Ort sind, dann kannst du mit dem pdf24 etwas machen.
Einen Batch schreiben, welcher alle Files in ein neues PDF schreibt und dann die Original-Files archiviert.
Evtl. habe ich im Büro noch so einen Batch, muss am Montag mal schauen.
Sonst mal als Idee:
https://help.pdf24.org/de/foren/thema/command-line-problem-im-batch-druc ...
Einen Batch schreiben, welcher alle Files in ein neues PDF schreibt und dann die Original-Files archiviert.
Evtl. habe ich im Büro noch so einen Batch, muss am Montag mal schauen.
Sonst mal als Idee:
https://help.pdf24.org/de/foren/thema/command-line-problem-im-batch-druc ...
Mit Powershell, pdftk und imagemagick (convert.exe) z.B. so
# Ordner mit pdfs und Bildern
$folder = "D:\Diddy0815"
# Pfad zur pdftk.exe (https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/)
$path_pdftk = "D:\pdftk\pdftk.exe"
# pfad zur convert.exe ImageMagick (https://imagemagick.org/index.php)
$path_imagick_convert = "D:\imagemagick\convert.exe"
# -------------------
$tmp = "$env:TEMP\$([io.path]::GetRandomFileName())"
md $tmp -Force -EA SilentlyContinue | out-null
Get-ChildItem $folder -Include *.pdf,*.jpg -Recurse | group {$_.BaseName.split("_")} | ?{$_.Count -gt 1} | %{
$_.Group | ?{$_.Extension -eq '.pdf'} | move-item -Destination $tmp
$_.Group | ?{$_.Extension -eq '.jpg'} | %{
.$path_imagick_convert $_.Fullname "$tmp\$($_.BaseName).pdf"
remove-item $_.Fullname -Force
}
.$path_pdftk "$tmp\*.pdf" cat output "$folder\$($_.Name).pdf"
remove-item "$tmp\*.pdf" -Force
}
Hatte etwas länger gesucht: bei mir war es ein Scanner, welcher keine PDFs machen konnte.
Der Scanner hatte Bilder-files mit der Endung xsm geliefert, maximal 20Seiten, entweder einseitig oder Doppelseitig.
Das Skript erledigte folgende Arbeiten:
- Files in ein PDF zusammenfassen
- File per Mail (blat) versenden
und anschliessend die ganze Geschichte in ein Archiv-Ordner verschieben
Bei uns lief es 1 x pro Stunde auf dem Server
Wir hatten damals dieses Tool verwendet, zusammen mit Blat: https://www.advancedreliablesoftware.com/advanced_command_line_image_to_ ...
Und das CMD-file:
Der Scanner hatte Bilder-files mit der Endung xsm geliefert, maximal 20Seiten, entweder einseitig oder Doppelseitig.
Das Skript erledigte folgende Arbeiten:
- Files in ein PDF zusammenfassen
- File per Mail (blat) versenden
und anschliessend die ganze Geschichte in ein Archiv-Ordner verschieben
Bei uns lief es 1 x pro Stunde auf dem Server
Wir hatten damals dieses Tool verwendet, zusammen mit Blat: https://www.advancedreliablesoftware.com/advanced_command_line_image_to_ ...
Und das CMD-file:
SET ORDNER=c:\daten\ftp\Scan\PraxisIT\
set Benutzer=tony
if not exist "%ORDNER%%Benutzer%\praxisit_%Benutzer%.xsm" goto :einzelseiten
:arbeit
set E-Datum=%date%_%time:~0,2%-%time:~3,2%-%time:~6,2%
c:\tools\blat262\full\blat -install 192.168.xxx.xxx xerox@xxxx.ch -port 25
"C:\tools\AdvancedReliableSoftware\AdvancedCommandLineImageToPdf\aclimage2pdf.exe" -sd "%ORDNER%%Benutzer%\praxisit_%Benutzer%.xsm" "%ORDNER%%Benutzer%" 13 1 2
ren "%ordner%\%Benutzer%\images.pdf" "append_%E-Datum%.pdf"
c:\tools\blat262\full\blat text.txt -subject "Dokumente vom Xerox-Scanner" -attach "%ordner%%Benutzer%\append_%E-Datum%.pdf" -to txxxx@mxxxxx.net
"c:\program files\7-zip\7z" a -r "%ORDNER%%Benutzer%\%Benutzer%_pdf_%E-Datum%.zip" "%ORDNER%%Benutzer%\*.pdf"
"c:\program files\7-zip\7z" a -r "%ORDNER%%Benutzer%\%Benutzer%_org_%E-Datum%.zip" "%ORDNER%%Benutzer%\praxisit_%Benutzer%.xsm"
move "%ORDNER%%Benutzer%\*.zip" "%ORDNER%archiv"
del "%ORDNER%%Benutzer%\*.pdf"
rd /s /q "%ORDNER%%Benutzer%\praxisit_%Benutzer%.xsm"
if not exist "%ORDNER%%Benutzer%\praxisit_%Benutzer%001.xsm" goto :einzelseiten
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%001.xsm" "praxisit_%Benutzer%.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%002.xsm" "praxisit_%Benutzer%001.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%003.xsm" "praxisit_%Benutzer%002.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%004.xsm" "praxisit_%Benutzer%003.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%005.xsm" "praxisit_%Benutzer%004.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%006.xsm" "praxisit_%Benutzer%005.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%007.xsm" "praxisit_%Benutzer%006.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%008.xsm" "praxisit_%Benutzer%007.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%009.xsm" "praxisit_%Benutzer%008.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%010.xsm" "praxisit_%Benutzer%009.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%011.xsm" "praxisit_%Benutzer%010.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%012.xsm" "praxisit_%Benutzer%011.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%013.xsm" "praxisit_%Benutzer%012.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%014.xsm" "praxisit_%Benutzer%013.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%015.xsm" "praxisit_%Benutzer%014.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%016.xsm" "praxisit_%Benutzer%015.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%017.xsm" "praxisit_%Benutzer%016.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%018.xsm" "praxisit_%Benutzer%017.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%019.xsm" "praxisit_%Benutzer%018.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%020.xsm" "praxisit_%Benutzer%019.xsm"
goto :arbeit
:einzelseiten
if not exist "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e.xsm" goto :ende
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e.xsm" "praxisit_%Benutzer%.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e001.xsm" "praxisit_%Benutzer%_e.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e002.xsm" "praxisit_%Benutzer%_e001.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e003.xsm" "praxisit_%Benutzer%_e002.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e004.xsm" "praxisit_%Benutzer%_e003.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e005.xsm" "praxisit_%Benutzer%_e004.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e006.xsm" "praxisit_%Benutzer%_e005.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e007.xsm" "praxisit_%Benutzer%_e006.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e008.xsm" "praxisit_%Benutzer%_e007.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e009.xsm" "praxisit_%Benutzer%_e008.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e010.xsm" "praxisit_%Benutzer%_e009.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e011.xsm" "praxisit_%Benutzer%_e010.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e012.xsm" "praxisit_%Benutzer%_e011.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e013.xsm" "praxisit_%Benutzer%_e012.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e014.xsm" "praxisit_%Benutzer%_e013.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e015.xsm" "praxisit_%Benutzer%_e014.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e016.xsm" "praxisit_%Benutzer%_e015.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e017.xsm" "praxisit_%Benutzer%_e016.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e018.xsm" "praxisit_%Benutzer%_e017.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e019.xsm" "praxisit_%Benutzer%_e018.xsm"
ren "%ORDNER%%Benutzer%\praxisit_%Benutzer%_e020.xsm" "praxisit_%Benutzer%_e019.xsm"
goto :arbeit
:ende
Powershell -Executionpolicy ByPass -NoP -C "&'d:\ordner\script.ps1'"