Eigenes Seitenformat definieren

Status
Nicht offen für weitere Antworten.

Malkav

Neues Mitglied
Hallo,

ich hab ein Problem beim Drucken und zwar:
Ich drucke auf einen Etikettendrucker und mußt deshalb ein eigenes Seitenformat erzeugen.
Dazu erzeugte ich eine Seite(7,5*9cm) und lege den druckbaren Bereich fest.
Somit müßte ich den Rand definiert haben.
Gedruckt wird aber ein Rand von ca. 1 Zoll (links und oben) :shock:
Ich hab schon diverse Sachen versucht, aber nichts will so richtig funktionieren.
Der Ausdruck sieht dann so aus, dass das Dokument richtig positioniert wird, aber da wo der Rand ist wird nix gedruckt.

Wenn ich also beispielsweise ein schwarzes Rechteck drucke, das genau so groß ist wie der druckbare Bereich, dann wird es an der richtigen Stelle gedruckt. Nur fehlt dann halt links und oben ein Stück davon.

Der Drucker kann übrigens bist zum Rand drucken.



Ich habe eine Klasse für mein Dokument.

Code:
public class TicketPrintableObject extends Frame implements Printable
{
  public int iResMul = 2;  
  
...
...

  
  public int print( Graphics g, PageFormat pf, int iPage )
  throws PrinterException
  {
    final int    FONTSIZE = 13;
    if( 0 != iPage )
      return NO_SUCH_PAGE;

    Paper pico = new Paper();
    pico.setSize(212.0,425.0);  //15*75mm in Points
    pico.setImageableArea(1.0,1.0,211.0,424.0); //druckbare Bereich festlegen
    pf.setPaper(pico);
   
    pf.setOrientation(PageFormat.LANDSCAPE);
   
    try {
      int iPosX = 1;
      int iPosY = 1;
      int iAddY = FONTSIZE * 3/2 * iResMul; 
     
      Graphics2D g2    = (Graphics2D)g;
      PrinterJob prjob = ((PrinterGraphics)g2).getPrinterJob();
      g2.translate( pf.getImageableX(), pf.getImageableY() ); // Koerdinaten auf den druckbaren Bereich legen
      g2.scale( 1.0 / iResMul, 1.0 / iResMul );
      g2.setFont( new Font( "SansSerif", Font.PLAIN, FONTSIZE * iResMul ) );
      g2.setColor( Color.black );
      
      g2.drawRect( iPosX, iPosY, 842, 392 ); // Rechteck 842*392 Pixel
      
      iPosX += iAddY;
      iPosY += iAddY / 2;
      
      ...
      ...     
      
     
      g2.setFont( new Font( "SansSerif", Font.BOLD, FONTSIZE * iResMul ) ); 
      g2.drawString( "irgendein String" ,iPosX+300, iPosY+=iAddY );
     
    } catch( Exception ex ) {
      throw new PrinterException( ex.getMessage() );
    }
    return PAGE_EXISTS;
  }

  
}

Gedruckt wird etwa so:


Code:
...
 DocPrintJob job = printServices[0].createPrintJob();
...
TicketPrintableObject ticket = new TicketPrintableObject();
Doc doc = new SimpleDoc( ticket, flavor, null);
job.print(doc, null);

Hat jemand eine Ahnung, warum ich immer diesen Rand bekomme?

Vielen Dank schonmal.

Malkav
 

DP

Top Contributor
pico.setImageableArea(1.0,1.0,211.0,424.0);

ist dein problem. da sagst du ja, dass der 1 zoll rand lassen soll ;)

cu
 

Malkav

Neues Mitglied
Hallo,

erstmal vielen Dank für deine Antwort, aber das ist schon richtig so.

Ich lasse 1 Point Rand. 1 Zoll = 72 points.

Nun habe ich einen neuen Versuch gestartet indem ich das Standard-paper (ich glaub "letter" oder "A4") modifiziere.

Und zwar so :
Code:
Paper pp = pf.getPaper(); // pf ist mein PageFormat
pp.setImageableArea(1,1,451,697);
pf.setPaper(pp);

Ich lese also erst das Papierformat aus, ändere dann den bedruckbaren Bereich und füge es dann wieder dem Pageformat hinzu.
Effekt ist gleich : Der Ausdruck wird zwar an den Papierrand geschoben, aber im Randbereich wird nix gedruckt.
Als Testdrucker benutze ich inzwischen Freepdf, um Papier zu sparen :wink:

Aber jetzt mal `ne Anfängerfrage. Wo lege ich eigentlich das Pageformat fest. Also das "pf", dass in meiner Klasse "TicketPrintableObject" in der Methode "print" benutze?


Gruß
Malkav
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
G eigenes package Java Basics - Anfänger-Themen 3
Anfänger2011 Eigenes Betriebssystem Java Basics - Anfänger-Themen 6
P Eigenes Fenster erstellen Java Basics - Anfänger-Themen 5
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
P eigenes Equal mit IndexOf() Java Basics - Anfänger-Themen 5
L eigenes Steuerelement Zeitstrahl Java Basics - Anfänger-Themen 3
F Eigenes Package - Variable exportieren Java Basics - Anfänger-Themen 11
GianaSisters Methoden eigenes TableModel -> removeRow möglich machen Java Basics - Anfänger-Themen 30
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
C Eigenes Konsolenfenster Java Basics - Anfänger-Themen 3
D Packages verwenden und in eigenes Projekt integrieren Java Basics - Anfänger-Themen 3
B Eigenes Package Java Basics - Anfänger-Themen 6
S Eigenes Objekt temporär verändern? (Clone)? Java Basics - Anfänger-Themen 12
M Eigenes Programm Flaechenrechner Java Basics - Anfänger-Themen 8
L Eigenes List Model für Icon + String -> Speicherhungrig? Java Basics - Anfänger-Themen 8
X Eigenes Kontosystem vervollständigen Java Basics - Anfänger-Themen 11
Developer_X eigenes ImageIcon schreiben Java Basics - Anfänger-Themen 11
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
S Eigenes Kontextmenü Java Basics - Anfänger-Themen 3
I jar in eigenes Programm unwandeln (OSX und Win) Java Basics - Anfänger-Themen 4
R Eigenes Pair Object Java Basics - Anfänger-Themen 2
C eigenes TableModel Java Basics - Anfänger-Themen 2
data89 In Java ein eigenes Lexikon erstellen? Doch wie? Java Basics - Anfänger-Themen 5
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
K javadoc eigenes doclet in console starten Java Basics - Anfänger-Themen 3
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
M Eigenes Ellipse2D-Objekt Java Basics - Anfänger-Themen 5
G Eigenes Fenster Java Basics - Anfänger-Themen 51
N Eigenes Icon in InputDialog geht nicht! Java Basics - Anfänger-Themen 7
J Eigenes Symbol für Java Programm Java Basics - Anfänger-Themen 3
Q Eigenes TableModel - NullPointerException Java Basics - Anfänger-Themen 6
F eigenes Package Java Basics - Anfänger-Themen 2
B Package/Klasse in ein eigenes Projekt einbinden? aber wie? Java Basics - Anfänger-Themen 6
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
B Hotkeys selbst definieren? Java Basics - Anfänger-Themen 1
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
S Instanzvariablen vom Typ einer Klasse definieren Java Basics - Anfänger-Themen 12
F Referenzvariable vom Typ "Integer" definieren. (Klausuraufgabe) Java Basics - Anfänger-Themen 5
B Log4J Pfad des Logfiles definieren Java Basics - Anfänger-Themen 6
F Enum via String definieren Java Basics - Anfänger-Themen 2
S Methode außerhalb der Klasse definieren Java Basics - Anfänger-Themen 5
Tom299 Log4j in jeder Klasse definieren? Java Basics - Anfänger-Themen 12
M Array definieren Java Basics - Anfänger-Themen 5
F Klasse Rechteck definieren Java Basics - Anfänger-Themen 21
T Arry definieren in 3 Dim. Java Basics - Anfänger-Themen 12
M Konstanten in einem Interface definieren Java Basics - Anfänger-Themen 1
T Klassen Funktion in einem Funktionsaufruf definieren Java Basics - Anfänger-Themen 3
K Eigenschaften Definieren für Produkte in einer Klasse Java Basics - Anfänger-Themen 6
M Methode mit beliebigen Parametern in abstrakter Klasse definieren Java Basics - Anfänger-Themen 8
B Definieren von package scope Java Basics - Anfänger-Themen 2
M Tabellenspaltengröße definieren Java Basics - Anfänger-Themen 4
J Funktion definieren und ausfuehren Java Basics - Anfänger-Themen 27
J Erste Schritte Zahlenbereich definieren Java Basics - Anfänger-Themen 2
F Klassen Eigene Klasse definieren Java Basics - Anfänger-Themen 4
P Variablen Guthaben anders definieren Java Basics - Anfänger-Themen 7
M variablen definieren Java Basics - Anfänger-Themen 9
P übergreifend variable definieren Java Basics - Anfänger-Themen 10
C variablen definieren? Java Basics - Anfänger-Themen 8
M ArrayList mit einer Grösse definieren Java Basics - Anfänger-Themen 9
capgeti Datentypen Static methoden aus Superklasse mit Generics definieren? Java Basics - Anfänger-Themen 9
G Mit Apache POI Kopfzeilen definieren Java Basics - Anfänger-Themen 11
V Suchabfrage definieren Java Basics - Anfänger-Themen 9
K indexOf selbst rekursiv definieren Java Basics - Anfänger-Themen 4
B Exception vor catch Block definieren Java Basics - Anfänger-Themen 9
J diverse Begriff definieren Java Basics - Anfänger-Themen 6
J Begriff Lebensdauer definieren Java Basics - Anfänger-Themen 12
R Interface innerhalb einer Klasse definieren..? Java Basics - Anfänger-Themen 2
K konstruktur als public definieren Java Basics - Anfänger-Themen 11
M Eingabenanzahl definieren Java Basics - Anfänger-Themen 6
P String über mehrere Zeilen definieren Java Basics - Anfänger-Themen 3
S break Label als Spungmarken vorher definieren Java Basics - Anfänger-Themen 4
G mehrere delimiters definieren Java Basics - Anfänger-Themen 2
R textfeld größe definieren Java Basics - Anfänger-Themen 2
M größe für Applet definieren Java Basics - Anfänger-Themen 4
A neuen Datentyp (Digit) definieren Java Basics - Anfänger-Themen 12
J Arraylänge mit Ctor definieren Java Basics - Anfänger-Themen 2
R Reguläre Ausdruck definieren Java Basics - Anfänger-Themen 3
G Methoden + variablen als final definieren? Java Basics - Anfänger-Themen 3
D Definieren von Arrays Java Basics - Anfänger-Themen 3
D flash object mit JS definieren.auch für Java Applet? Java Basics - Anfänger-Themen 13
S Übergroße Arrays definieren Java Basics - Anfänger-Themen 10
G Variable in Interface definieren Java Basics - Anfänger-Themen 6
G args definieren in netbeans Java Basics - Anfänger-Themen 4
E Webmodul definieren Java Basics - Anfänger-Themen 2
S Formate für Strings definieren Java Basics - Anfänger-Themen 4
E Buttongröße definieren Java Basics - Anfänger-Themen 17
M eigene klasse definieren und verfügbar machen Java Basics - Anfänger-Themen 9
G Innere klasssen unde "extends" klassen definieren, Java Basics - Anfänger-Themen 2
T Variablen zur Laufzeit definieren Java Basics - Anfänger-Themen 3
N Klasse definieren Java Basics - Anfänger-Themen 3
G Tastenkombinationen für Programm definieren Java Basics - Anfänger-Themen 6
N Packages definieren bzw. zum Classpath hinzufügen Java Basics - Anfänger-Themen 4
Dilandau konstante eigene farben im programm definieren Java Basics - Anfänger-Themen 13
Dilandau array aus konstanten definieren? Java Basics - Anfänger-Themen 6
W Klassen durch implements abstrakt definieren Java Basics - Anfänger-Themen 6
J "globale" variable definieren? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben