cancel
Goto Top

PDF Datein zerlegen und auf HP Drucker in bestimmte Schächte Drucken

Also ich habe folgendes Aufgabe bekommen.
1.PDF Datei bestehend aus 2 Seiten auf HP Drucker drucken in Fach 2 und 3
2.PDF Datei in Datumsordner Moven und datei Umbenennen.
Habe Tools gefunden pdftk zum zerlegen von PDF Dateinen, gsbatchprint zum Direkten Fachsteuern auf HP Drucker

rem #########################################################
@echo off
echo #### abc PDF Batchverarbeitung ####
echo.
rem #########################################################
echo Lösche Log Dateinen
rem
rem
del batch.log /F /Q
del gs.log /F /Q
rem #########################################################
rem
rem  Parameter
rem
rem
rem #########################################################
rem Zeitformatierung und Userangabe
set usr=%USERNAME%
set ptime=%date%_%time:~0,2%_%time:~3,2%_%time:~6,2%
rem
rem #########################################################
rem Path wo die Dokumente Liegen
set vonpath=C:\gsbatchprint\
rem
rem #########################################################
rem Wie soll das Dokument nach Umbenehnung heissen
set dokuname=Rech_
rem
rem #########################################################
rem Name des Druckers
set drucker=HP1250
rem
rem
rem #########################################################
rem Welches Fach soll fuer Seite 1 benutzt werden
set fach_A=Fach2
rem #########################################################
rem Welches Fach soll fuer Seite 2 benutzt werden
set fach_B=Fach3
rem
rem #########################################################
rem Sicherungsverzeichnisse die Angelegt werden ab hier
set ptpath=abc_%fach_A%_%date%
set ptpath2=abc_%fach_B%_%date%
rem
rem #########################################################
echo erzeuge Verzeichniss
md "%vonpath%%ptpath%"  
md "%vonpath%%ptpath2%"  
rem #########################################################
rem
echo entnehme jede 1 Seite aus allen abc PDF Datein

for %%a in (h*.pdf) do (pdftk %%a cat 1 output "%dokuname%%usr%_%ptime%_%%a_Seite1.pdf")  

rem
rem ########################################################

pause

rem
echo entnehme jede 2 Seite aus allen abc PDF Datein

for %%b in (h*.pdf) do (pdftk %%b cat 2 output "%dokuname%%usr%_%ptime%_%%b_Seite2.pdf")  

rem
rem #########################################################
pause

echo Drucke Seiten in Fach 2 auf HP Drucker
gsbatchprint -P %drucker% -F "%vonpath%%dokuname%%usr%_%ptime%_*_Seite1.pdf" -I %fach_A% /N A4 -n /M "%vonpath%%ptpath%"  

rem #########################################################

echo Drucke Seiten in Fach 3 auf HP Drucker
gsbatchprint -P %drucker% -F "%vonpath%%dokuname%%usr%_%ptime%_*_Seite2.pdf" -I %fach_B% /N A4 -n /M "%vonpath%%ptpath2%"  

rem #########################################################

pause

Mein Problem ich möchte nicht alle dateinen gleichzeitig öffnen und bearbeiten sondern


abc1.pdf
abc2.pdf
abc3.pdf

soll so sein
nehme abc1.pdf
zerlege sie in username_12_05_2009_14_04_10_seite1.pdf
zerlege sie in username_12_05_2009_14_04_10_seite1.pdf
dann Drucke Sie aus auf HP Drucker
mit gsbatchprint -P HP1250- -F "c:\username_12_05_2009_14_04_10_seite1.pdf -I fach2 /N A4 -n /M "c:\backup\"
auf Fach 2 Drucken.
und dann die nächste Datei auf Fach 3
mit gsbatchprint -P HP1250- -F "c:\username_12_05_2009_14_04_10_seite1.pdf -I fach3 /N A4 -n /M "c:\backup\"
move die Datei abc1.pdf um nach c:\backup\
und jetzt die nächste Datei Auspacken
also
nehme abc2.pdf und das ganze von vorne bis alle Datein weg sind

Oben in meinem Beispiel soll der Grundstein sein. Für Hilfe wäre ich sehr Dankbar
Kommentar vom Moderator Biber am May 25, 2010 um 15:48:34 Uhr
Bin erst heute auf diesen Beitrag verwiesen worden (Thx @77559).
Verschoben von "C/Cpp" nach "Batch & Shell" und Codeformatierung nachgetragen.

Content-Key: 115885

Url: https://administrator.de/contentid/115885

Printed on: April 18, 2024 at 23:04 o'clock

Mitglied: 77559
77559 May 12, 2009 at 12:47:45 (UTC)
Goto Top
Hallo Cancel,

ein paar Fragen
  • warum nimmst du für eine Batch Frage den Bereich c c++ ?
  • warum klammerst du Code für bessere Lesbarkeit nicht in < code> < /code> ?
  • warum kommentierst du dich/uns Tod, da sieht man ja nichts mehr.
  • warum nimmst du nicht ein sortierbares Datumsformat JJ MM TT ?
  • warum machst du 2 Schleifen für 1. 2. Seite, wenn du nur eine willst?

Für den Anfang:
Batch kann in neueren Windows Versionen Subroutinen aufrufen. Call :sub
Schleifen können mehrere Zeilen Code in (Klammern gesetzt) ausführen.

Gruß
LotPings
Member: Cancel
Cancel May 12, 2009 at 13:17:56 (UTC)
Goto Top
Sorry bin Anfänger , die machen halt auch nicht alles so wie Profis
CC++ kann ich nicht auch nicht vba.
Da habe ich halt gedacht ich mach das halt in Dos (cmd)

Daher habe ich mich an euch gewannt , damit mir vieleicht einer
es mal Richtig erklären kann und mir Tipps geben kann damit ich aus meiner Unwissenheit Lehrnen kann.

Wurde mit der Aufgabe beauftragt und weis halt nicht wie man es Löst.
Daher wäre ich sehr Dankbar für eure Unterstützng , Danke im vorraus
Mitglied: 77559
77559 May 12, 2009 at 15:23:53 (UTC)
Goto Top
Zitat von @Cancel:
Sorry bin Anfänger , die machen halt auch nicht alles so wie Profis
Verlangt ja auch keiner

CC++ kann ich nicht auch nicht vba.
Da habe ich halt gedacht ich mach das halt in Dos (cmd)
Spricht ja auch nichts dagegen, aber DU hast deine Frage im Bereich C/C++ gestellt.

Daher habe ich mich an euch gewannt , damit mir vieleicht einer es mal Richtig erklären kann und mir Tipps geben kann damit ich aus meiner Unwissenheit Lehrnen kann.
Deshalb kann ich aber trotzdem nicht erkennen wie dei Wissensstand ist, Hast du den Batch selber geschrieben und funktioiert er in der Form ?

Wurde mit der Aufgabe beauftragt und weis halt nicht wie man es Löst.
Daher wäre ich sehr Dankbar für eure Unterstützng ,
Danke im vorraus
Keine Vorschußlorbeeren face-wink

In der Annahme, das der Batch so funktioniert, habe ich mal Kommentare sowie einige Echos entsorgt und die entsprechenden Befehle umgestellt. GsBatchPrint macht vielleicht bei einzelnen Seiten keinen Sinn sollte aber funktionieren.

:: 
@echo off
echo #### abc PDF Batchverarbeitung ####
echo.

echo Lösche Log Dateinen
del batch.log /F /Q
del gs.log /F /Q
set usr=%USERNAME%
set ptime=%date%_%time:~0,2%_%time:~3,2%_%time:~6,2%
set vonpath=C:\gsbatchprint\
set dokuname=Rech_
set drucker=HP1250
set fach_A=Fach2
set fach_B=Fach3
set ptpath=abc_%fach_A%_%date%
set ptpath2=abc_%fach_B%_%date%
echo erzeuge Verzeichniss
md "%vonpath%%ptpath%"  
md "%vonpath%%ptpath2%"  
for %%a in (h*.pdf) do (
  REM echo entnehme 1 Seite aus aktueller abc PDF Datei
  pdftk %%a cat 1 output "%dokuname%%usr%_%ptime%_%%a_Seite1.pdf"  
  REM echo entnehme 2 Seite aus aktueller abc PDF Datei
  pdftk %%a cat 2 output "%dokuname%%usr%_%ptime%_%%a_Seite2.pdf"  
  REM echo Drucke Seite in Fach 2 auf HP Drucker
  gsbatchprint -P %drucker% -F "%vonpath%%dokuname%%usr%_%ptime%_%%a_Seite1.pdf" -I %fach_A% /N A4 -n /M "%vonpath%%ptpath%"  
  REM echo Drucke Seite in Fach 3 auf HP Drucker
  gsbatchprint -P %drucker% -F "%vonpath%%dokuname%%usr%_%ptime%_%%a_Seite2.pdf" -I %fach_B% /N A4 -n /M "%vonpath%%ptpath2%"  
)

Gruß
LotPings