WBCE Home | WBCE Hilfe | WBCE Addon Repository | Impressum | Datenschutz

WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 19.01.2019 15:57:12

jps77
Member

batch datei zum drucken von neuen pdf dokument

Hallo Leute,

ich hoff ich bewege mich jetzt nicht zu sehr off-topic  big_smile

Folgendes, wir haben ein Online Kassensystem (hellocash), funktioniert wunderbar das Teil bis auf eine kleine Kleinigkeit.
Einen Bondrucker kann man hier problemlos einrichten, dann werden die Rechnungen dort auch bei  Abschluss des Kassiervorgangs automatisch gedruckt, leider funktioniert das nicht auch bei den A4 (pdf) Rechnungen, welche wir aber verwenden weil optisch einfach schöner und vorallem kein Thermopapier.

Weshalb ich via batch versuche pdf Dokumente die in einem bestimmten Ordner abgelegt werden an den Drucker zu leiten und anschliessend in einen anderen Ordner zu verschieben.....
Das ganze sieht so aus:

REM ### drucken.bat ###

@echo off

:pdfprint

for %%p in ("E:\Download Dokumente\*.pdf") do (

"C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /p /h %%p

ping 127.0.0.1 -n 5
move "%%p" "E:\Gedruckte Dokumente\"


)

ping 127.0.0.1 -n 5
goto pdfprint
REM ### drucken.bat ###

das verschieben der Datei funktioniert tadellos jedoch wird nicht gedruckt und der Acrobad Reader meldet "Datei nicht gefunden" obwohl diese erst später verschoben wird.

Vieleicht kann jemand helfen, wär super
Danke

Last edited by jps77 (19.01.2019 15:58:23)

Offline

#2 19.01.2019 20:19:05

florian
Projektmanagement und Support WBCE CMS

Re: batch datei zum drucken von neuen pdf dokument

kann es sein, das %%p nur den Dateinamen und nicht den kompletten Pfad enthält und Acrobat deshalb die Datei nicht findet?
(Meine Batchkenntnisse sind grotesk rudimentär und auf dem Stand von MS DOS 3.2)

Offline

#3 19.01.2019 21:33:21

jps77
Member

Re: batch datei zum drucken von neuen pdf dokument

florian wrote:

kann es sein, das %%p nur den Dateinamen und nicht den kompletten Pfad enthält und Acrobat deshalb die Datei nicht findet?
(Meine Batchkenntnisse sind grotesk rudimentär und auf dem Stand von MS DOS 3.2)

moment mal, könnte es sein das die batch datei im selben ordner liegen muss wie die pdf´s bevor sie verschoben werden?
ich glaub das muss ich so mal testen......

Offline

#4 20.01.2019 13:10:47

hamburgerhans
Member

Re: batch datei zum drucken von neuen pdf dokument

REM ### drucken_02 ###
@ECHO OFF
for /r . %%P in (*.pdf) do (
REM start /B "Drucken" /wait "C:\\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Acrobat.exe" /t %%P "HP LaserJet 4/4M PS-File"
rem ping 127.0.0.1 -n 15
echo Ich bin das Echo
move "%%P" "E:\\GedruckteDokumente\"
pause
)
REM ### drucken_02.bat ###

goto ende

Startet man die Batch mit geänderten Parametern für den PDF-Reader und entsprechendem lokalen Drucker, sieht man bei z.B. drei vorhandenen *.pdf-Dateien, daß die Iteration funktioniert. Es wird dreimal "Ich bin das Echo" ausgegeben, und entsprechend die PDF-Dateien einzeln verschoben. 

Eräuterung der Malaisen (vorher "move" deaktivieren!).
Aktiviert man das Drucken per Acrobat, erfolgt das Echo -(nicht der Druck!)- aller Dokumente nur, wenn dieser schon aktiv ist; ansonsten wird nur das erste pdf-Dokument gedruckt.; die Batch wird nicht weiter durchlaufen und "echo" nicht ausgeführt. Ist der Acrobat und "move" aktiv, wird der Acrobat zwar aufgerufen, "move" hat die aufgerufene Datei(en) aber längst verschoben. Mit einer zweiten Batch könnte man das Verschieben lösen, wenn ein geänderter Dateienstatus nach dem Drucken vorläge. Für derartige Vorgehensweise müßte man eigens ein Programm schreiben, was dann auch nur ein Teilproblem löst.

Das Problem liegt im wesentlichen beim Acrobat, da anscheinend keine für eine Batch verwertbaren Statuscodes (%errorlevel%) für die einzelnen Prozesse ausgegeben werden, weshalb einzelne alternative PDF-Reader oder auch Scriptinterpreter das Problem mit ihren Mitteln lösen, z.B. über das API.

Druckserver oder Druckmanager lösen das Problem per Hotfolder und/oder eigener Verwaltung.

Anmerkung: Diese Information steht unter Vorbehalt.
Sie wurde vor Jahren als Merkzettel für studentische Arbeitsplätze ausgegeben.
Ob diese richtig oder auch aktuell ist, kann also nicht garantiert werden.
Nach ein wenig Goggeln, hatte ich den Eindruck, daß sich an der Verhaltensweise, und den Lösungsansätzen nichts geändert hat
Aber vielleicht hat jemand neuere oder ergänzende Erkenntnisse, und mag uns diese mitteilen.
Gruß, HH
:ende

Last edited by hamburgerhans (20.01.2019 14:42:04)

Offline

#5 20.01.2019 14:24:28

berny
Member

Re: batch datei zum drucken von neuen pdf dokument

drucken und gleichzeitig verschieben wird vermutlich das Problem erzeugen.

Du musst den Erfolg des Drucks abwarten, erst dann verschieben.

Offline

#6 20.01.2019 14:56:05

hamburgerhans
Member

Re: batch datei zum drucken von neuen pdf dokument

Der "Erfolg des Drucks" ist das erläuterte Problem, nämlich den Status nicht, zumindest nicht über die Batch, erfassen zu können.

Eine andere bekannte Lösung besteht darin, daß man die Ergebnisse der Iteration in eine Liste (Textdatei) schreibt, und daraus Druck und Verschieben für die Verarbeitung ableitet. Die Trennung räumt die genannten Dateikomplikationen aus, aber auch hier gibt es weiterhin keinen Statuscode, der das erfolgreiche Drucken meldet, um danach erst das Verschieben einzuleiten.

Der "Erfolg des Drucks" ist außerdem nicht nur der bestandene Ablauf, sondern der auf Papier gedruckte Text.
Eine Wiederholung des Ablaufs, z.B. nach einem Fehldruck, ist mit einer simplen Batch so nicht möglich.
Derartiges ist nur mit Printmanagern machbar, wo die Druckaufträge in einem Queue abgelegt sind.

Ein kleiner Nachtrag:Statt nur die Malaisen zu erörtern, kann man die Batch mal ganz, also mit Acrobat, aber ohne "move", aufrufen. Die Druckaufträge werden ausgeführt.
Gruß, HH

Last edited by hamburgerhans (20.01.2019 15:34:47)

Offline

#7 20.01.2019 15:49:27

hamburgerhans
Member

Re: batch datei zum drucken von neuen pdf dokument

So  geht es dann in die von Dir gewünschte Richtung:

REM ### drucken_03 ###
@ECHO OFF
for /r . %%P in (*.pdf) do (
start /B "Drucken" /wait "C:\\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Acrobat.exe" /t %%P "HP LaserJet 4/4M PS-File"
rem ping 127.0.0.1 -n 15
echo Ich bin das Echo 01
pause
)
for /r . %%P in (*.pdf) do (
rem ping 127.0.0.1 -n 15
echo Ich bin das Echo 02
move "%%P" "E:\\Dokumente Gedruckte\"
pause
)
REM ### drucken_03.bat ###

Das kann für Nerds genügen, aber sicherlich nicht im gewerblichen Bereich.

Last edited by hamburgerhans (20.01.2019 22:27:34)

Offline

#8 20.01.2019 19:49:54

jps77
Member

Re: batch datei zum drucken von neuen pdf dokument

Vielen Dank erstmal für die Lösungsansätze, bisher leider kein erfolg  sad

Offline

#9 20.01.2019 20:44:29

hamburgerhans
Member

Re: batch datei zum drucken von neuen pdf dokument

Was heißt das konkret "kein Erfolg", was funktioniert nicht?
Natürlich frage ich, weil alle Batchdateien auf meinem PC unter Windows 7 funktionieren. Die Batch03 macht soweit alles.
Warum eine Batch nur begrenzte Möglichkeiten bietet, dürfte durch die Anmerkungen deutlich geworden sein.
Voraussetzung ist natürlich, daß Acrobat und der Drucker entsprechend eingerichtet sind, der Acrobat auch im Hintergrund läuft, bevor man die Batch startet. Ob sich das mit der verwendeten Arbeitsumgebung vereinbaren läßt, muß vor Ort sebst entschieden werden.

Eine Anmerkung: Der angegebene Drucker ist nur optional, gedruckt wird in diesem Beispiel mit dem Standarddrucker, also dem voreingestellten, weil der angegebene Drucker auf dem PC nicht installiert ist (eine Art Fallback).

Gruß, HH
p.s. Bin nun vorerst "mal weg", da mir wegen Konzentrationsschwierigkeiten (z.Z. krank) das Schreiben unglaublich schwer fällt.

Last edited by hamburgerhans (20.01.2019 23:13:05)

Offline

#10 21.01.2019 12:49:07

hamburgerhans
Member

Re: batch datei zum drucken von neuen pdf dokument

Ein Hinweis noch, sozusagen als Alternative.
PDF-Dokumente lassen sich mit Ghostscript plus Tools drucken und ansehen. Gibts inkl. Monitor, Dateiumleitung und "errorlevel" cool . Auch hier sind Einrichtungsarbeiten zu leisten.

Die fertige  Lösung heißt Printmanager. Kostet zwar etwas, aber man ist die Probiererei los, was wiederum Zeit und damit Kosten einspart.

Gruß, HH

Last edited by hamburgerhans (21.01.2019 12:58:05)

Offline

#11 21.01.2019 15:12:43

berny
Member

Re: batch datei zum drucken von neuen pdf dokument

Der "Erfolg des Drucks" heißt natürlich, dass die Datei in den Spooler geschoben wurde.
Es ist vermutlich so, dass Acrobat Reader noch gar nicht vollkommen gestartet ist, wo schon die Datei verschoben wurde.
Dann findet der Reader die Datei nicht mehr.

Eventuell stimmt auch der Aufruf nicht, siehe https://stackoverflow.com/questions/310 … -reader-dc

Offline

#12 21.01.2019 17:22:10

hamburgerhans
Member

Re: batch datei zum drucken von neuen pdf dokument

Dann findet der Reader die Datei nicht mehr.

Weshalb die Idee mit Ping und Zeitangabe zwar nachvollziehbar ist, aber die Situation nur verschlimmbessert.

Der Zeitpunkt der Fertigstellung ist je nach Standpunkt rein technisch der Schub in den Queue, oder der ausgeführte Druckjob. Wenn ich mich nicht irre (lang, lang ists her), wären diese Zeitpunkte per Programmierung abfangbar und steuerbar.  Das behalten sich Printmanager vor.

Mit Verlaub, er wollte eine Batch!
Möchte er mehr als eine Batch, und es selbst umsetzen, ließe sich das auch mit einem Basic-Dialekt (für Windows) realisieren. Hatte  gelegentlich auch schon tiefe Eingriffe  mit der Windows eigenen Scriptsprache gesehen. Ob derartiges damit möglich ist, kann ich mangels Kenntnis nicht beurteilen.
Gruß, HH

Last edited by hamburgerhans (21.01.2019 17:32:19)

Offline

#13 24.01.2019 17:48:29

hamburgerhans
Member

Re: batch datei zum drucken von neuen pdf dokument

Bin etwas über die ausbleibenden Rückmeldungen verwundert.
Ich hoffe, der Fragesteller ist bei bester Gesundheit,

Falls jemand mit ähnlicher Aufgabe vor gleichartigen Problemen steht, hilft die Suche per Goggel: "PowerShell" "acrobat" "Print". Hiermit stößt man auf Scripte, die als Lösung für die angesprochenen Probleme angegeben werden.
Gruß, HH

Last edited by hamburgerhans (28.01.2019 04:45:00)

Offline

Board footer

Powered by FluxBB

up