Top-Themen

Aktuelle Themen (A bis Z)

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

Java - drucken auf Netzwerkdrucker

Frage Entwicklung Java

Mitglied: AndyAh

AndyAh (Level 2) - Jetzt verbinden

28.08.2014, aktualisiert 11:04 Uhr, 3329 Aufrufe, 7 Kommentare

Hi NG,

wie kann ich Drucke auf einem Netzwerkdrucker ausgeben?

Im Netz habe ich leider nichts gefunden.

Ein Paar Zeilen Code wären hilfreich.

Gruß
Andy
Mitglied: ITvortex
28.08.2014 um 12:00 Uhr
Zitat von AndyAh:

wie kann ich Drucke auf einem Netzwerkdrucker ausgeben?


Inwiefern sollte sich ein Netzwerkdrucker zu einem Lokal installierten Drucker unterscheiden?

Wenn du einen Netzwerkdrucker über Java installieren willst dann ist das was anderes, den Drucken ohne das der Drucker installiert ist kann Windows nicht, warum sollte es also Java können?

Ich weiß nicht ob ich dich richtig verstanden habe, aber drucken geht z.B. so:



01.
      
02.
    import javax.print.*; 
03.
    import javax.print.attribute.*; 
04.
    import java.io.*; 
05.
    import javax.print.event.PrintJobListener; 
06.
    import javax.print.event.PrintJobEvent; 
07.
    import java.awt.GraphicsEnvironment; 
08.
      
09.
      
10.
    private MyDruckListener drucker = new MyDruckListener(); 
11.
      
12.
    public PrintDocument(String strFilename, int iDevice) 
13.
14.
    try 
15.
16.
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); 
17.
    //setzt das auszudruckend Dokument fest 
18.
    DocFlavor flavor = DocFlavor.INPUT_STREAM.XXX; //hier nachsehen, welches man benötigt! 
19.
    PrintService printService[] = PrintServiceLookup.lookupPrintServices( 
20.
    flavor, pras); 
21.
    PrintService defaultService = PrintServiceLookup. 
22.
    lookupDefaultPrintService(); 
23.
      
24.
    PrintService service = null; 
25.
    //wenn als Device -1 übergeben wird, wird ein Dialog für das drucken auswählen ausgegeben! 
26.
    if (iDevice == -1) 
27.
28.
    service = ServiceUI.printDialog(GraphicsEnvironment. 
29.
    getLocalGraphicsEnvironment(). 
30.
    getDefaultScreenDevice(). 
31.
    getDefaultConfiguration(), 200, 200, 
32.
    printService, defaultService, flavor, pras); 
33.
34.
    //ansonsten wird der 1te (Standard/Default) Drucker genommen 
35.
    else 
36.
37.
    //wenn es keine Drucker gibt und das Device niedriger ist als die Länge 
38.
    if (printService != null && printService.length != 0 && printService.length > iDevice) 
39.
40.
    service = printService[iDevice]; 
41.
42.
    //ansonsten standarddevice 
43.
    else if(printService != null && printService.length != 0) 
44.
45.
    service = printService[0]; 
46.
47.
48.
    //wenn der Dateiename null ist, wird die Druckfunktion beendet! 
49.
    if(strFilename == null) 
50.
51.
    return; 
52.
53.
    //wenn der Service nicht null ist, wird ausgedruckt 
54.
    if (service != null) 
55.
56.
    DocPrintJob job = service.createPrintJob(); 
57.
    //fügt listener hinzu 
58.
    job.addPrintJobListener(drucker); 
59.
    FileInputStream fis = new FileInputStream(strFilename); 
60.
    DocAttributeSet das = new HashDocAttributeSet(); 
61.
    Doc doc = new SimpleDoc(fis, flavor, das); 
62.
    job.print(doc, pras); 
63.
64.
65.
    //wenn kein Druckerdevice gefunden wurde!! 
66.
    catch (ArrayIndexOutOfBoundsException ex) 
67.
68.
    ex.printStackTrace(); 
69.
    System.out.println("Keine Drucker gefunden!!"); 
70.
71.
    //bei sonstigen Exceptions! 
72.
    catch (Exception ex) 
73.
74.
    ex.printStackTrace(); 
75.
76.
77.
      
78.
    private class MyDruckListener implements PrintJobListener 
79.
80.
    public void printDataTransferCompleted(PrintJobEvent printJobEvent) 
81.
82.
    System.out.println("Daten wurden zum Drucker geschickt!"); 
83.
84.
      
85.
    public void printJobCompleted(PrintJobEvent printJobEvent) 
86.
87.
    System.out.println("Drucker hat fertig gedruckt!"); 
88.
89.
      
90.
    public void printJobFailed(PrintJobEvent printJobEvent) 
91.
92.
    System.out.println("Fehler beim Drucken!"); 
93.
94.
      
95.
    public void printJobCanceled(PrintJobEvent printJobEvent) 
96.
97.
    System.out.println("Abbruch des druckes!"); 
98.
99.
      
100.
    public void printJobNoMoreEvents(PrintJobEvent printJobEvent) 
101.
102.
    System.out.println("JobNoMoreEvents!"); 
103.
104.
      
105.
    public void printJobRequiresAttention(PrintJobEvent printJobEvent) 
106.
107.
    System.out.println("JobRequieresAttention!"); 
108.
109.
    }
Bitte warten ..
Mitglied: AndyAh
28.08.2014 um 12:11 Uhr
Hi,

eigentlich wollte ich nur einfachen Text drucken. Der Drucker ist natürlich in Windows und Linux eingebunden.

Gruß
Andy
Bitte warten ..
Mitglied: ITvortex
28.08.2014 um 12:19 Uhr
Hier eine Anleitung: http://www.torsten-horn.de/techdocs/java-print.htm


Gruß
ITvortex
Bitte warten ..
Mitglied: AndyAh
28.08.2014 um 14:10 Uhr
Hi,

ich habe im WikiBook für Java zwar ein Beispiel gefunden:

01.
import java.awt.Toolkit; 
02.
 
03.
 class PrinterInfo2 
04.
05.
   public static void main( String args[] ) 
06.
07.
     Toolkit tk = Toolkit.getDefaultToolkit(); 
08.
     PrintJob pj = tk.getPrintJob( new Frame(), "", null );  //dummy-Frame erzeugen 
09.
     if ( pj != null ) 
10.
     {  // FileOutputStream in PrintWriter packen 
11.
       PrintWriter pw = new PrintWriter( new FileOutputStream( "PRN:" )); 
12.
       pw.println( "Hallo lieber Drucker" ); 
13.
       pw.println( "... und das ist Zeile2 ..." ); 
14.
       pw.close();  // resource freigeben 
15.
16.
17.
 }


das aber so nicht funktioniert. Ich nehme an, das sich der Drucker am PRN: stört. Wie muss ich das Beispiel umschreiben, dass es funktioniert?

Gruß
Andy
Bitte warten ..
Mitglied: ITvortex
28.08.2014 um 15:38 Uhr
Wenn du eine Datei ohne Druckerauswahl drucken möchtest dann brauchst du folgenden Code:

01.
Desktop.getDesktop().print(new File("C://Users/xxx/Desktop/axyf.txt"));
Hierbei wird der Standarddrucker verwendet.

Mit Druckerauswahl:

http://wiki.byte-welt.net/wiki/Drucken_von_Dokumenten_in_Java

Gruß
ITvortex
Bitte warten ..
Mitglied: AndyAh
29.08.2014 um 11:01 Uhr
Hi,

der obere Tipp funktioniert. Aber den Tipp aus dem Link bekomme ich leider nicht zum Laufen.

Gruß
Andy
Bitte warten ..
Mitglied: ITvortex
29.08.2014 um 11:19 Uhr
Was genau darf ich unter nicht zum Laufen verstehen?

Bite etwas ausführlicher erklären: Programmcode und Fehlermeldungen.

Gruß
ITvortex
Bitte warten ..
Ähnliche Inhalte
Verschlüsselung & Zertifikate
Druckaufträge über OpenVPN an Netzwerkdrucker drucken
gelöst Frage von tinytim84Verschlüsselung & Zertifikate10 Kommentare

Moin moin allerseits! Ich habe ein Problem, bei dem ich auch nach der SuFu nicht weiter komme. Folgendes Szenario: ...

Drucker und Scanner
Netzwerkdrucker über WLAN erreichen und davon drucken
gelöst Frage von o0Asia0oDrucker und Scanner7 Kommentare

Guten Tag Zusammen Meine Frage wäre wie folgt: Ist es möglich einen Netzwerkdrucker, der nicht über WLAN erreichbar ist, ...

Microsoft Office
Duplex Druck aus Word 2013 auf Netzwerkdrucker
gelöst Frage von rumpel42Microsoft Office7 Kommentare

Hallo, ich hoffe die Frage ist richtig in "Office" - es geht zwar im Drucken, aber ich glaube die ...

Windows 7
Win 7, Netzwerkdrucker, Warteschlange, kein Druck
Frage von DJWileCWindows 711 Kommentare

Hallo liebes Forum, ich habe ein Problem mit einem meiner Win 7 SP1 64bit Clients. Alle Clients verbinden sich ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 7 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 7 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 10 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 15 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...