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

.jpg oder .tif über CMD drucken

Frage Microsoft

Mitglied: Chicky0815

Chicky0815 (Level 1) - Jetzt verbinden

05.09.2011, aktualisiert 11:50 Uhr, 7672 Aufrufe, 17 Kommentare

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
Mitglied: 60730
05.09.2011 um 11:54 Uhr
Servus,

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ß
Bitte warten ..
Mitglied: Chicky0815
05.09.2011 um 12:05 Uhr
Also die Interaktion Win/Unix läuft primär über einen Viewer also eine Terminalemulation wo sich die Leute anmelden und dann ein Unixprogramm starten können und damit dann arbeiten.

Über die Shell habe ich bisher für das Anzeigen immer die CMD gestartet und ihr dann den Pfad zur Datei übergeben und dann wurde das Bild mit dem entsprechenden Standardprogramm geöffnet.

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"

Das sagt mir allerdings nichts und klappt auch bei mir nicht.
Bitte warten ..
Mitglied: hmarkus
05.09.2011 um 12:06 Uhr
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
Bitte warten ..
Mitglied: hmarkus
05.09.2011 um 12:10 Uhr
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...

Markus
Bitte warten ..
Mitglied: 60730
05.09.2011 um 12:17 Uhr
?

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ß
Bitte warten ..
Mitglied: Chicky0815
05.09.2011 um 12:24 Uhr
Zitat von 60730:
?

> 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ß

Also eignetlich macht er gar nix. Kein Fehler und es kommt einfach kein Druck ^^
Bitte warten ..
Mitglied: 60730
05.09.2011 um 12:30 Uhr
Zitat von Chicky0815:
Also eignetlich macht er gar nix. Kein Fehler und es kommt einfach kein Druck ^^

  • ok dann druck ich mich mal anders aus.
Bei meinem System - XP SP3 funktioniert der Weg und im Druckspool kann ich das sehen.

Da das bei dir nicht funktioniert bin ich überfragt und mutmasse nicht, wo denn der Fehler zu suchen ist.

Gruß
Bitte warten ..
Mitglied: Chicky0815
05.09.2011 um 12:34 Uhr
So, also nun klappts.

rundll32.exe shimgvw.dll ImageView_PrintTo /pt "c:\logo.jpg" "Kyocera FS-1118MFP" "NULL" "NULL"

Das Bild wird gedruckt allerdings falsch skaliert. Der Drucker ist nun auch lokal bei mir angeschlossen. Wie bekomme ich das da skaliert? Auch mit imagemagick?

Edit: Seh grad imagemagick ist ja ne extra software. Also ist das schonmal nicht so gut. Besser wäre eine Lösung ohne zusatzsoftware.
Bitte warten ..
Mitglied: hmarkus
05.09.2011 um 12:42 Uhr
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
Bitte warten ..
Mitglied: Chicky0815
05.09.2011 um 12:46 Uhr
Zitat von hmarkus:
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
Ja, ich hab mir das grad auch schon durchgelesen. Leider ist das hier nicht gewünscht und soll nach möglichkeit ohne neue Software gehen.
Bitte warten ..
Mitglied: Chicky0815
05.09.2011 um 13:01 Uhr
So, also offensichtlich war die Skalierung noch nicht falsch. Mit folgendem CMD aufruf gehts:

rundll32.exe shimgvw.dll ImageView_PrintTo /pt "c:\logo.jpg" "Druckername" "NULL" "NULL"
Bitte warten ..
Mitglied: Chicky0815
06.09.2011 um 08:18 Uhr
Also ich bräuchte doch nochmal eure Hilfe. Wenn ich nämlich die Konsole von der Unix Shell aufrufen will und o.g. Statement ausführen will, passiert leider nix. Unter Unix siehts folgendermaßen aus:

echo "\033\033X\"cmd /C rundll32.exe shimgvw.dll ImageView_PrintTo /pt "Dateipfad" "Kyocera FS-1118MFP"""

Wenn ich das so ausführer wird mir eine neue Zeile auf der Shell geöffnet mit

">"

Jemand eine Idee? Hat jetzt zwar nicht mehr so viel mit Win zu tun, wollte aber keinen neuen Thread deswegen machen
Bitte warten ..
Mitglied: hmarkus
06.09.2011 um 08:37 Uhr
Guten Morgen,

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 
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
Bitte warten ..
Mitglied: Chicky0815
07.09.2011 um 06:49 Uhr
Guten Morgen Markus,

also das Kommando ist eigenltich recht simpel. Es soll lediglich die Win cmd starten und dann das Image drucken.

Unix ist Debian und Shell ist die Korn Shell. Anführungszeichen habe ich übrigens 8 gezählt.
Bitte warten ..
Mitglied: hmarkus
07.09.2011 um 07:09 Uhr
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
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
Suche starten mit
/quoting
und N für weitersuchen.

Aber schachteln von Anführungszeichen, so wie Du es gemacht hast, das geht nicht.

Markus
Bitte warten ..
Mitglied: Chicky0815
07.09.2011 um 07:23 Uhr
Morgen,

also das starten der CMD läuft auch nicht direkt über Unix sondern wird eigentlich von der Terminalemulation gemacht. Mit dem quoting schau ich mir mal und und werde bereichten.

Edit:

Ich hab es jetzt mit quoting versucht, leider auch ohne Erfolg.

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\"""
Bitte warten ..
Mitglied: hmarkus
07.09.2011 um 12:10 Uhr
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 \\

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
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Drucker und Scanner
gelöst PCL-Drucker drucken nur Hieroglyphen (5)

Frage von diwaffm zum Thema Drucker und Scanner ...

Windows Server
Drucken via RDP, Papier kommt aus falschem Schacht

Frage von torcolato zum Thema Windows Server ...

Batch & Shell
Schleife mit todos CMD

Frage von TommyDerWalker zum Thema Batch & Shell ...

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

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

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

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

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...