.jpg oder .tif über CMD drucken
Hallo Zusammen
Wir arbeiten hier mit einem Viewer für eine Unix Umgebung, mit der die Buchhaltung arbeitet. Jetzt sollen Images, die eingescannt sind und auf einem Netzwerkverzeichnis liegen automatisch gedruckt werden, wenn ein bestimmter Unixjob gestartet wird.
Das Problem ist, das mir bisher keine Lösung eingefallen ist, wie ich die Bilder (.tif oder .jpg) drucken kann, ohne diese mit einem Anzeigeprogram vorher über die Eingabeaufforderung aus Unix heraus zu öffnen.
Daher kam mir die Idee, das man vlt. den Druckauftrag für das Image manuell erstellen kann oder das man vlt über ein Parameter der Bild und Faxanzeige von Windows übergibt, das diese das Bild direkt Drucken soll und nicht anzeigen soll. Vlt gibts für so ein Problem auch andere Lösungen.
Hinzu kommt noch, das die Drucker bis auf wenige Ausnahmen alle als Netzwerkdrucker installiert sind.
Wäre für alle Ideen dankbar.
Gruß
Christoph
Wir arbeiten hier mit einem Viewer für eine Unix Umgebung, mit der die Buchhaltung arbeitet. Jetzt sollen Images, die eingescannt sind und auf einem Netzwerkverzeichnis liegen automatisch gedruckt werden, wenn ein bestimmter Unixjob gestartet wird.
Das Problem ist, das mir bisher keine Lösung eingefallen ist, wie ich die Bilder (.tif oder .jpg) drucken kann, ohne diese mit einem Anzeigeprogram vorher über die Eingabeaufforderung aus Unix heraus zu öffnen.
Daher kam mir die Idee, das man vlt. den Druckauftrag für das Image manuell erstellen kann oder das man vlt über ein Parameter der Bild und Faxanzeige von Windows übergibt, das diese das Bild direkt Drucken soll und nicht anzeigen soll. Vlt gibts für so ein Problem auch andere Lösungen.
Hinzu kommt noch, das die Drucker bis auf wenige Ausnahmen alle als Netzwerkdrucker installiert sind.
Wäre für alle Ideen dankbar.
Gruß
Christoph
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172575
Url: https://administrator.de/contentid/172575
Ausgedruckt am: 19.11.2024 um 19:11 Uhr
17 Kommentare
Neuester Kommentar
Servus,
Kannst du das nochmal genauer definieren?
das ist etwas problematisch - denn diese Windows Boardmittel taugen nicht wirklich dazu.
mspaint z.B druckt dir die Bilder gestückelt auf 2 oder mehrere Seiten.
Hmm das ist doch genau richtig?
gruß
Kannst du das nochmal genauer definieren?
- Interaktion zwischen Unix/Windows?
das ist etwas problematisch - denn diese Windows Boardmittel taugen nicht wirklich dazu.
mspaint z.B druckt dir die Bilder gestückelt auf 2 oder mehrere Seiten.
mspaint -p laufwerk:\pfad\bild.tif
Und diese Faxanzeige ist nix anderes, als mspaint.Hinzu kommt noch, das die Drucker bis auf wenige Ausnahmen alle als Netzwerkdrucker installiert sind.
Hmm das ist doch genau richtig?
gruß
Hallo Christoph,
geht es nicht einfach mit dem lpr Kommando? vielleicht hilft Dir die Manpage zu lpr.
Und falls die Fomate nicht passen (Größe/Ausrichtung), dann schau Dir mal imagemagick an, da kannst Du (automatisch) via Shellscript die Bilder anpassen.
Gruß
Markus
geht es nicht einfach mit dem lpr Kommando? vielleicht hilft Dir die Manpage zu lpr.
Und falls die Fomate nicht passen (Größe/Ausrichtung), dann schau Dir mal imagemagick an, da kannst Du (automatisch) via Shellscript die Bilder anpassen.
Gruß
Markus
Jetzt würde ich gerne über die CMD das Bild nicht anzeigen, sondern direkt drucken. Hab grad auch was gefunden:
rundll32 shimgvw.dll ImageView_PrintTo /pt xxx.png "printer name"
... ach so, von Windows aus, dann habe ich das falsch verstanden...rundll32 shimgvw.dll ImageView_PrintTo /pt xxx.png "printer name"
Markus
?
Stimmt ist auch ein Weg - der aber wunderbar funktioniert - sogar besser, als die von mir genannte Krücke - denn der macht pro Bild eine Seite.
Was passiert denn bei dir?
Und machst du das sinngemäß so:
Gruß
rundll32 shimgvw.dll ImageView_PrintTo /pt xxx.png "printer name"
Stimmt ist auch ein Weg - der aber wunderbar funktioniert - sogar besser, als die von mir genannte Krücke - denn der macht pro Bild eine Seite.
Was passiert denn bei dir?
Und machst du das sinngemäß so:
rundll32 shimgvw.dll ImageView_PrintTo /pt laufwerk:\pfad\xxx.png \\printserver\druckerfreigabe
Gruß
Zitat von @Chicky0815:
Also eignetlich macht er gar nix. Kein Fehler und es kommt einfach kein Druck ^^
Also eignetlich macht er gar nix. Kein Fehler und es kommt einfach kein Druck ^^
- ok dann druck ich mich mal anders aus.
Da das bei dir nicht funktioniert bin ich überfragt und mutmasse nicht, wo denn der Fehler zu suchen ist.
Gruß
Imagemagick gibt's auch für Windows, es ist sehr leistungsfähig, die Installation lohnt sich, Infos gibt's hier http://www.imagemagick.org/script/index.php
Markus
Markus
Guten Morgen,
kannst Du mir bitte mal das Kommando in allen Einzelheiten erklären?
Du kannst " nicht schachteln, also der Teil steht "blank" da und darum werden die / als Teil der Pfades interpretiert.
Außerdem hast Du 7 mal ", da fehlt mit Sicherheit ein ". Außerdem versteh ich nicht, was der Unix-Rechner mit den Windowskommandos machen soll.
Ach so, bitte poste mal genauere Angaben zu Betriebssystem und Shell, also welches Unix und welche Shell?
Die neue Zeile mit dem ">" bedeutet, dass die Shell auf den restlichen Teil des Kommandos wartet.
Markus
kannst Du mir bitte mal das Kommando in allen Einzelheiten erklären?
Du kannst " nicht schachteln, also der Teil
cmd /C rundll32.exe shimgvw.dll ImageView_PrintTo /pt
Außerdem hast Du 7 mal ", da fehlt mit Sicherheit ein ". Außerdem versteh ich nicht, was der Unix-Rechner mit den Windowskommandos machen soll.
Ach so, bitte poste mal genauere Angaben zu Betriebssystem und Shell, also welches Unix und welche Shell?
Die neue Zeile mit dem ">" bedeutet, dass die Shell auf den restlichen Teil des Kommandos wartet.
Markus
Guten Morgen,
also, die Win cmd läuft aber nicht auf einem Debian-Rechner, daher verstehe ich das genaue Vorgehen nicht.
Das Kommando um eine Datei an den Drucker zu schicken lautet unter Unix/Linux
Wegen der Anführungszeichen: also sind's am Ende der Zeile 3 Stück, das hab ich übersehen. Laut Manpage kannst Du in der Kornshell mit \ die " quoten, also alle bis auf die beiden äußeren " müssten durch \" ersetzt werden. Lies mal in der Manpage im Abschnitt "quoting".Suche starten mit und N für weitersuchen.
Aber schachteln von Anführungszeichen, so wie Du es gemacht hast, das geht nicht.
Markus
also, die Win cmd läuft aber nicht auf einem Debian-Rechner, daher verstehe ich das genaue Vorgehen nicht.
Das Kommando um eine Datei an den Drucker zu schicken lautet unter Unix/Linux
lpr -P Druckername Dateiname
Wegen der Anführungszeichen: also sind's am Ende der Zeile 3 Stück, das hab ich übersehen. Laut Manpage kannst Du in der Kornshell mit \ die " quoten, also alle bis auf die beiden äußeren " müssten durch \" ersetzt werden. Lies mal in der Manpage im Abschnitt "quoting".
man ksh
/quoting
Aber schachteln von Anführungszeichen, so wie Du es gemacht hast, das geht nicht.
Markus
Naja, hinten müsste dann konsequenterweise:stehen. Außerdem (wenn ich's richtig verstanden habe) müsstest Du die \ in der Windowspfadangabe auch quoten, also \\
Markus
\"\""
echo "\033\033X\"cmd /C rundll32.exe shimgvw.dll ImageView_PrintTo /pt \"\\RZH-ARCHIV\\RZH-Archivierung\\Heilmittel\\201108\\23\\016\\0048\\00000005F.jpg\" \"Kyocera FS-1118MFP\"\""
Markus