Drucker ansprechen unter Java

Status
Nicht offen für weitere Antworten.

Lazarus

Mitglied
Hallo ich würde gerne wissen wie man unter Java druckt. Ich weiß schon wie ich den Druck Dialog offne. Nur wenn ich bestätige passiert nix

Ich habe diesen Code gefunden

Code:
Toolkit tk = Toolkit.getDefaultToolkit();
PrintJob pj = tk.getPrintJob( new Frame(), "", null );

if ( pj != null ) {
  Graphics g = pj.getGraphics();
  f.printComponents( g );
  g.dispose();
  pj.end();
}

aber ich bekomme kein Ausdruck. Eigenlich dürfte es unwichig sein ob der Drucker am Paralellport oder am USB hängt oder?

Danke für Tips

cu
 

thE_29

Top Contributor
Kommt den überhaupt der DruckerDialog??

Und hast du den Beitrag in den FAQ schon durchgemacht?
 

Lazarus

Mitglied
Zu dem Beitrag in den Faqs kann ich nichts sagen nicht gefunden. Habe mir die Überschriften angeschaut und nichts mit Drucker gefunden.
 

Lazarus

Mitglied
Aber mal ehrlich das kann es doch nicht sein. Um einen ganz einfachen Ausdruck zu machen. Ich habe auch wilden Code gefunden hier kommt er
Code:
import java.util.*;
import java.io.*;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;

public class PrintWithJ2SE14Document
{
        
  public static void main( String args[] )
  {
    PrintWithJ2SE14Document dr = new PrintWithJ2SE14Document( args );
  }

  public PrintWithJ2SE14Document( String args[] )
  {
    final String sErrNoPrintService =
      "\nZu diesem Dateityp ist kein passender Print-Service installiert.";
    final String sPrintFile = "PrintFile.ps";
    final String[] ssFileExtensionsAccepted =
      { "JPEG", "JPG", "PNG", "GIF", "TXT", "HTM", "HTML", "PS", "PDF" };
    final DocFlavor[] docFlavorsAccepted =
      { DocFlavor.INPUT_STREAM.JPEG, DocFlavor.INPUT_STREAM.JPEG,
        DocFlavor.INPUT_STREAM.PNG,  DocFlavor.INPUT_STREAM.GIF,
        DocFlavor.INPUT_STREAM.TEXT_PLAIN_HOST,
        DocFlavor.INPUT_STREAM.TEXT_HTML_HOST,
        DocFlavor.INPUT_STREAM.TEXT_HTML_HOST,
        DocFlavor.INPUT_STREAM.POSTSCRIPT,
        DocFlavor.INPUT_STREAM.PDF };
    DocFlavor flavor = null;
    int i, idxPrintService=-1;

    // Check first commandline parameter (input file):
    if( null != args && 0 < args.length && null != args[0]
        && 0 < (i = args[0].lastIndexOf( '.' )) )
    {
      String sInputFilenameExtension = args[0].substring( ++i ).toUpperCase();
      for( i=0; i<ssFileExtensionsAccepted.length; i++ )
        if( ssFileExtensionsAccepted[i].equals( sInputFilenameExtension ) )
        {
          flavor = docFlavorsAccepted[i];
          break;
        }
    }
    if( null == flavor )
    {
      System.out.println( "Drucken eines Dokuments entweder mit dem Drucker oder "
                        + "als PostScript-Datei." );
      System.out.println( "Erster Kommandozeilenparameter: Dokument-Datei." );
      System.out.println( "Erlaubt sind die Dateitypen:" );
      System.out.print(   "  " + ssFileExtensionsAccepted[0] );
      for( i=1; i<ssFileExtensionsAccepted.length; i++ )
        System.out.print( ", " + ssFileExtensionsAccepted[i] );
      System.out.println( "." );
      System.out.println( "Ohne zweiten Parameter wird eine Ausgabedatei im "
                        + "PostScript-Format erzeugt." );
      System.out.println( "Eine Zahl >= 0 als zweiter Parameter steuert den zu "
                        + "dieser Nummer gehoerenden " );
      System.out.println( "Print-Service (z.B. Drucker) an." );
      System.exit( 1 );
    }
    System.out.println( "" );
    System.out.println( "Eingangsdatei '" + args[0] + "':" );
    System.out.println( "  MIME-Typ '" + flavor.getMimeType() + "'" );

    // Check second commandline parameter (PrintService index):
    if( 1 < args.length )
      try {
        idxPrintService = Integer.parseInt( args[1] );
      }
      catch( Exception ex ) {
      }

    // Set print attributes:
    PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
    aset.add( MediaSizeName.ISO_A4 );

    try {

      if( 0 > idxPrintService )
      {
        // Print to Stream (here to PostScript File):
        StreamPrintServiceFactory[] prservFactories =
          StreamPrintServiceFactory.lookupStreamPrintServiceFactories(
            flavor, DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType() );
        if( null == prservFactories || 0 >= prservFactories.length )
        {
          System.err.println( sErrNoPrintService );
          System.exit( 2 );
        }
        System.out.println( "Stream-PrintService-Factory:" );
        for( i=prservFactories.length-1; i>=0; i-- )
          System.out.println( "  " + prservFactories[i]
                            + " (" + prservFactories[i].getOutputFormat() + ")" );
        FileOutputStream   fos = new FileOutputStream( sPrintFile );
        StreamPrintService sps = prservFactories[0].getPrintService( fos );
        System.out.println( "Stream-PrintService:" );
        System.out.println( "  " + sps + " (" + sps.getOutputFormat() + ")" );
        printPrintServiceAttributesAndDocFlavors( sps );
        DocPrintJob pj = sps.createPrintJob();
        FileInputStream fis = new FileInputStream( args[0] );
        Doc doc = new SimpleDoc( fis, flavor, null );
        pj.print( doc, aset );
        fos.close();
        System.out.println( "Ausgabedatei '" + sPrintFile
                          + "' ist erfolgreich generiert." );
      }
      else
      {
        // Print to PrintService (e.g. to Printer):
        PrintService   prservDflt = PrintServiceLookup.lookupDefaultPrintService();
        PrintService[] prservices = PrintServiceLookup.lookupPrintServices( flavor, aset );
        if( null == prservices || 0 >= prservices.length )
          if( null != prservDflt )
          {
            System.err.println( "Nur Default-Printer, da lookupPrintServices fehlgeschlagen." );
            prservices = new PrintService[] { prservDflt };
          }
          else
          {
            System.err.println( sErrNoPrintService );
            System.exit( 3 );
          }
        System.out.println( "Print-Services:" );
        for( i=0; i<prservices.length; i++ )
          System.out.println( "  " + i + ":  " + prservices[i]
                              + (( prservDflt != prservices[i] ) ? "" : " (Default)") );
        PrintService prserv = null;
        if( 0 <= idxPrintService && idxPrintService < prservices.length )
          prserv = prservices[idxPrintService];
        else
        {
          if( !Arrays.asList( prservices ).contains( prservDflt ) )  prservDflt = null;
          prserv = ServiceUI.printDialog( null, 50, 50, prservices, prservDflt, null, aset );
        }
        if( null != prserv )
        {
          System.out.println( "Ausgewaehlter Print-Service:" );
          System.out.println( "      " + prserv );
          printPrintServiceAttributesAndDocFlavors( prserv );
          DocPrintJob pj = prserv.createPrintJob();
          FileInputStream fis = new FileInputStream( args[0] );
          Doc doc = new SimpleDoc( fis, flavor, null );
          pj.print( doc, aset );
          System.out.println( "Dokument '" + args[0] + "' ist erfolgreich gedruckt." );
        }
      }

    } catch( PrintException pe ) { 
      System.err.println( pe );
    } catch( IOException ie ) { 
      System.err.println( ie );
    }
    System.exit( 0 );
  }

  private void printPrintServiceAttributesAndDocFlavors( PrintService prserv )
  {
    String s1=null, s2;
    Attribute[] prattr = prserv.getAttributes().toArray();
    DocFlavor[] prdfl  = prserv.getSupportedDocFlavors();
    if( null != prattr && 0 < prattr.length )
      for( int i=0; i<prattr.length; i++ )
        System.out.println( "      PrintService-Attribute["+i+"]: "
                            + prattr[i].getName() + " = " + prattr[i] );
    if( null != prdfl && 0 < prdfl.length )
      for( int i=0; i<prdfl.length; i++ )
      {
        s2 = prdfl[i].getMimeType();
        if( null != s2 && !s2.equals( s1 ) )
          System.out.println( "      PrintService-DocFlavor-Mime["+i+"]: " + s2 );
        s1 = s2;
      }
  }
}

Nur ich wehre mich dagegen zu glauben daß solche Routinen notwendig sind wo es doch für jeden. Sch... irgendwelche Schnitstellen usw. gibt. Zur Not les ich mich da ein. Aber ich bin mir fast sicher es muss auch einfacher gehen.
 

thE_29

Top Contributor
Sag mal willst du mich verarschen???


geh in die FAQ und such den Beitrag zum Drucken! Wenn du den findest und das ausprobiert hast melde dich wieder!

Und wenn du so ne Aussage nochmal machst, das es dazu nix gibt, sperre ich diesen Thread!

ES FÄNGT SOGAR MIT DEM WORT DRUCKEN AN!
 

Lazarus

Mitglied
Und zieh du dir mal rein, wie schnell besagte IdiotenModeratoren so nen Quatsch löschen.
*zensiert*

Illuvatar
 

thE_29

Top Contributor
Du hast Probleme, nicht ich ^^

1. der Beitrag ist schon seit: 24. 08. 2004 da

2. du lässt dich von nem Typen den du net mal kennst so aufregen (und das noch übers Inet, wer da bisi frustriert ist :bae:)

3. wenn ich von dort kommen würde, wo du herkommst, dann würd ich vorbeischaun und dir ..... (sagen wir mal java beibringen)

4. einen Mod zu beschimpfen kommt nie gut, desweiteren habe ich dir ne Frage gestellt und dich net mit Kraftausdrücken zugekleistert...

5. dann geh doch in dein superForum bevor du hier 1000mal die gleichen Fragen stellst!

6. und AUS!

7. *rumMaker* yeah, ich bin der obermaker :autsch: :gaen:


(siehs ein, es nervt wenn jeder Fragen fragt, die sowieso in den FAQs sind oder 100mal gestellt werden und das nur weil sie net LESEN können oder zu FAUL ZUM LESEN sind!)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards Ausdruck auf Label Drucker AWT, Swing, JavaFX & SWT 1
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
S 3D-Grafik 3D Modelle für 3D-Drucker aufbereiten AWT, Swing, JavaFX & SWT 3
J AWT Abfangen der Rohdaten die PrinterJob zum Drucker sendet AWT, Swing, JavaFX & SWT 2
D printdialog ausgewählten drucker ermitteln AWT, Swing, JavaFX & SWT 2
A Drucker Auswahlmaske statt auf dem Standarddrucker zudrucken AWT, Swing, JavaFX & SWT 4
T Elemente auf vorheriger Stage, nach Wechsel der Stage ansprechen AWT, Swing, JavaFX & SWT 32
D Verschieden Scenen ansprechen mit dem Scene Builder und JavaFX (Eclipse) AWT, Swing, JavaFX & SWT 16
Augenblau JavaFX Externe Schriftart über CSS ansprechen und zuweisen AWT, Swing, JavaFX & SWT 5
N JavaFX GUI Elemente einer anderen (FXML)Klasse ansprechen AWT, Swing, JavaFX & SWT 16
J Swing/AWT | Dynamisch erzeugte Objekte ansprechen AWT, Swing, JavaFX & SWT 1
M SWT Wie Objektinstanzen ansprechen? AWT, Swing, JavaFX & SWT 10
F JTabbedPane bestimmten Tab ansprechen AWT, Swing, JavaFX & SWT 13
X Fenster von außen ansprechen AWT, Swing, JavaFX & SWT 7
R JavaFX TableView - nicht ausgewählte Reihe ansprechen AWT, Swing, JavaFX & SWT 6
D OpenGL ansprechen AWT, Swing, JavaFX & SWT 2
B Swing jnect: Kinect ansprechen AWT, Swing, JavaFX & SWT 5
J Anonyme Klasse - Button ansprechen - Warum muss Button final sein? AWT, Swing, JavaFX & SWT 4
D Bestimmtes JPanel innerhalb eines JTabbedPane ansprechen AWT, Swing, JavaFX & SWT 2
D Swing JList: ScrollPane auf JPanel ansprechen AWT, Swing, JavaFX & SWT 7
B LayoutManager GUI-Design: eventuelle Alternativen zum Verschachteln + Ansprechen von JPanel()? AWT, Swing, JavaFX & SWT 2
N OK-Button in JOptionPane ansprechen AWT, Swing, JavaFX & SWT 5
A Button in Tabelle ansprechen AWT, Swing, JavaFX & SWT 6
J Ansprechen untergeordneter Objekte AWT, Swing, JavaFX & SWT 6
N paintComponent für Graphics ansprechen AWT, Swing, JavaFX & SWT 2
F checkboxen auslesen/ansprechen AWT, Swing, JavaFX & SWT 1
M Objekt im ActionListener ansprechen AWT, Swing, JavaFX & SWT 3
S buttons über getSelected ansprechen AWT, Swing, JavaFX & SWT 4
A Drag'n Drop: Absender direkt ansprechen? AWT, Swing, JavaFX & SWT 2
G Bildpixel ansprechen und Farbwerte abfragen AWT, Swing, JavaFX & SWT 4
J JSplitPane Felder ansprechen AWT, Swing, JavaFX & SWT 3
F Checkboxen eines anderen Panels ansprechen AWT, Swing, JavaFX & SWT 3
S Swing - JFrame ansprechen AWT, Swing, JavaFX & SWT 2
M jLabel per Index ansprechen? AWT, Swing, JavaFX & SWT 8
G Unterschiedliche Textfields ansprechen AWT, Swing, JavaFX & SWT 4
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
U Wie funktioniert das rotieren unter 2dGraphics, also wie stelle ich z. B. 90° ein? AWT, Swing, JavaFX & SWT 1
T Swing DPI-Skalierung und Java 2D unter Java 11 (und Windows 10) AWT, Swing, JavaFX & SWT 2
N JavaFX Installation unter IntelliJ IDEA AWT, Swing, JavaFX & SWT 5
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
B JavaFX openjfx11: intelliJ unter Ubuntu 18.10 kann nicht auflösen AWT, Swing, JavaFX & SWT 4
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
T Java Swing - kleines Rechteck unter dem cursor AWT, Swing, JavaFX & SWT 5
Blender3D Meine Swing Anwendung läuft unter Windows 10 und Ubuntu aber nicht auf Windows 7 AWT, Swing, JavaFX & SWT 16
A Swing Gemaltes Bild über saveDialog speichern unter AWT, Swing, JavaFX & SWT 15
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
Blender3D Swing KeyBoardListener funktioniert nicht unter UBUNTU AWT, Swing, JavaFX & SWT 7
V Swing Button soll unter anderem Button sein AWT, Swing, JavaFX & SWT 2
L DoubleBuffering unter Swing AWT, Swing, JavaFX & SWT 0
L JavaFX Scene wechseln unter FX AWT, Swing, JavaFX & SWT 5
Avarion Swing JFrame unter Windows 10 kleiner ?! AWT, Swing, JavaFX & SWT 2
T ThreadPool sicher beenden unter Verwendung von swt.widgets.Display.syncExec AWT, Swing, JavaFX & SWT 1
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
M Swing Bildbearbeitung unter Java AWT, Swing, JavaFX & SWT 22
S (Swing)Vollbild anzeigen unter Linux/Mac AWT, Swing, JavaFX & SWT 6
D 2D-Grafik Rechteck befindet sich unter dem Rahmen des JFrame. AWT, Swing, JavaFX & SWT 1
T JFrame Icon unter Linux/Ubuntu AWT, Swing, JavaFX & SWT 11
S JMenu unter JPanel versteckt AWT, Swing, JavaFX & SWT 5
P Verbuggte custom JButton unter Windows AWT, Swing, JavaFX & SWT 9
SexyPenny90 JLabel liegt unter meiner Turtle AWT, Swing, JavaFX & SWT 5
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
J AWT setBackground(Color.orange) ist unter Win7 Aero nicht orange AWT, Swing, JavaFX & SWT 3
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
R Problem mit TrayIcon unter Windows/Linux AWT, Swing, JavaFX & SWT 7
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
T JButtons indexiert unter NetBeans anlegen AWT, Swing, JavaFX & SWT 7
S GUI aussehen unter Windows und Linux (und Mac) AWT, Swing, JavaFX & SWT 13
J Applet Kommunikation unter Applets AWT, Swing, JavaFX & SWT 2
I Probleme mit GWT Controls unter Firefox AWT, Swing, JavaFX & SWT 14
A Swing Probleme unter Windows 7 AWT, Swing, JavaFX & SWT 5
F AWT MouseMotionListener e.getButton() ist immer 0 unter Linux und Windows AWT, Swing, JavaFX & SWT 6
F AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 3
J Swing Natives Menü unter OS X erstellen ? AWT, Swing, JavaFX & SWT 8
C Swing Kleines Programm mit SWING unter Verwendung von MVC AWT, Swing, JavaFX & SWT 5
G SWT-App läuft nicht unter OSX, unter Win aber problemlos AWT, Swing, JavaFX & SWT 3
H Y-Position mit get-/setLocation() unter Linux/Enlightement16 inkonsistent AWT, Swing, JavaFX & SWT 3
G SWT Linie unter transparentes Canvas zeichnen AWT, Swing, JavaFX & SWT 4
M KeyListener Problem unter Firefox AWT, Swing, JavaFX & SWT 2
G Quaqua unter Windows AWT, Swing, JavaFX & SWT 15
B LaF unter KDE AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Swing Fehlende Komponenten unter Mac OS X AWT, Swing, JavaFX & SWT 8
M Swing GroupLayout unter Java 1.5 AWT, Swing, JavaFX & SWT 20
M JMenu teilweise unter einer JComponent AWT, Swing, JavaFX & SWT 4
B Button identifizieren unter MouseEvent AWT, Swing, JavaFX & SWT 7
L JPanel mit Objekten selektieren wie unter Windows / Ubuntu AWT, Swing, JavaFX & SWT 4
W WindowsLookAndFeel unter Mac AWT, Swing, JavaFX & SWT 5
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
N JDesktop unter Linux AWT, Swing, JavaFX & SWT 4
C JComboBox funktioniert nicht unter Mac OS X AWT, Swing, JavaFX & SWT 2
P Swing [gelöst/erledigt] Gleicher Code läuft unterschiedlich unter Linux und Windows AWT, Swing, JavaFX & SWT 5
U Grafikkontext unter JButtons? AWT, Swing, JavaFX & SWT 5
M Probleme unter Linux AWT, Swing, JavaFX & SWT 7
E Hat Netbeans unter Linux kein Designer für Swing? AWT, Swing, JavaFX & SWT 3
D Probleme mit Java Swing unter Mac OSX AWT, Swing, JavaFX & SWT 13
F Statuszeile unter Swing AWT, Swing, JavaFX & SWT 4
P Programm terminiert nicht (unter Eclipse) AWT, Swing, JavaFX & SWT 5
V Swing: System-Look&Feel unter KDE AWT, Swing, JavaFX & SWT 3
L Problem mit "setVisible" unter LINUX AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben