Drucken hilfe

moessi91

Bekanntes Mitglied
Hallo,
ich muss ein Programm schreiben welches ein textfile einließt und dieses dann ausdruckt. Klingt eigentlich ganz simpel aber ich scheitere vollkommen daran, lese mir seit 3 tagen alle möglich tutorials und sonstiges durch habe alle möglichen Beispielprogramme ausprobiert und nichts auch nur ansatzweise zum laufen gebracht. Ich habe mir auch schon die Themen hier durchgelesen bin aber auch nicht wirklich schlauer geworden und Google spuckt nur elends langen quelltext aus der unverständlich ist und am ende doch nicht funktioniert.
Weiß jemand eventuell eine Seite wo das drucken mit pageable gut schritt für schritt beschrieben ist?

danke schonmal im voraus
 
Hab ich schon gefunden getestet und habe versagt....
funktioniert nicht...
Wenn ich das ausführe und zb. den pfad einer txt datei angeben dann macht das programm kurz und einfach gar nichts weil:
Java:
PrintService[] services =
PrintServiceLookup.lookupPrintServices(format, aset) ;

//Druckauftrag für einen Drucker erzeugen und Dokument drucken.
if(services.length > 0)
da kein service drin ist, wenn man dann das format und aset zb.: auf null setzt dann bekomme ich meine 3 services zurück, XPS Document writer und meine 2 drucker,
wenn ich jetzt auf xps documentwriter stelle macht er alles nach der reihe durch aber am ende geschieht einfach nix...
 
Ich hab da vor Ewigkeiten auch mal auf die Schnelle für jemanden was zum Drucken zusammengeschustert. Vielleicht hilft dir das ja.

Java:
import java.awt.*;
import java.awt.event.*;

public class Drucker extends Frame {

  public void printPage(Artikel[] art2,Kunde kun,String auftragszeit, int auftragsnummer)   {
    PrintJob pjob = getToolkit().getPrintJob(this,"Testseite",null);
    if (pjob != null) {
      int pres = pjob.getPageResolution();
      Graphics pg = pjob.getGraphics();       //Ausdruck beginnt
      if (pg != null) {
        pg.setFont(new Font("TimesRoman",Font.PLAIN,12));

         pg.drawString("KOMMISSIONIERAUFTRAG: KA 2008/"+auftragsnummer+" vom "+auftragszeit,40,50 );
         pg.drawString("ausgelöst durch:",40,80 );
         pg.drawString(kun.getName(),100,100 );              //Kundendaten ausgeben
         pg.drawString(kun.getStrasse(),100,117);
         pg.drawString(kun.getOrt(),100,134);
         pg.drawString("Art-nr",100,180);                    //Tabellenüberschrift
         pg.drawString("Artikelbez",150,180);
         pg.drawString("Anzahl",300,180);
         pg.drawString("Gang",360,180);
         pg.drawString("Fach",410,180);
         pg.drawLine(40,185,435,185);
         pg.drawLine(40,187,435,187);

         int hoehe=187;
         for(int k=0;k<art2.length;k++){                                   //Artikel ausgeben
            hoehe=hoehe+12;
            pg.drawString(k+1+".",40,hoehe);
            pg.drawString(""+art2[k].getArtikelnr(),100,hoehe);
            pg.drawString(art2[k].getArtikelbez(),150,hoehe);
            pg.drawString(""+art2[k].getAnzahl(),300,hoehe);
            pg.drawString(""+art2[k].getGang(),360,hoehe);
            pg.drawString(""+art2[k].getFach(),410,hoehe);
            hoehe=hoehe+3;
            pg.drawLine(40,hoehe,435,hoehe );
         }
        pg.dispose();
      }
      pjob.end();
    }
  }
 

Zurück
Oben