PDA

View Full Version : [java] stampa di testo


kevinpirola
28-08-2012, 20:23
Ciao a tutti, devo stampare il contenuto di un'area di testo.

Nello specifico ho scelto di usare un JTextPane, perchè ha la possibilità di usare stili diversi al suo interno.

quando creo il JTextPane, setto le sue dimensioni con i 4 metodi:

setSize();
setPreferredSize();
setMinimumSize();
setMaximumSize();

con un new Dimension(250,300).

Il testo a video viene wrappato giusto.

poi inserisco la JTextPane in una JScrollPane, in modo che se dovesse superare il massimo verso il basso si possa scrollare.

Tutto si vede bene, a video il testo viene wrappato giusto e le parole vanno a capo senza uscire dai margini.

Quando vado in stampa pero le righe vengono stampate tutte lunghe. non riesco a capire il perchè, devo impostare qualcosa di particolare?

kevinpirola
28-08-2012, 21:48
nello specifico, mi ero dimenticato di scrivere, sto usando questa soluzione:


PrintRequestAttributeSet attr_set = new HashPrintRequestAttributeSet();
attr_set.add(new MediaSize(80, 210, Size2DSyntax.MM));
attr_set.add(new MediaPrintableArea(5, 5, 75, 215, MediaPrintableArea.MM));
this.complete = CashDeskFrame.this.textPane.print(this.headerFormat, this.footerFormat, false, ps[i], attr_set, this.interactive);
this.message = "Printing " + (this.complete ? "complete" : "canceled");


se tolgo gli add all'attribute tutto funziona, se invece lascio le restrizioni per le dimensioni non parte la stampa.

Non funziona nemmeno usando come dimensione lo standard ISO.A4 ( a scanso di equivoci).

Idee?

kevinpirola
29-08-2012, 00:54
Probabilmente ho risolto il problema.

invece di impostare la dimensione di stampa con MediaSize imposto solo i margini stampabili.


Credo che fosse una incompatibilità della stampante che non riconosceva il formato.
Perciò io le dico di stampare A4, però con margini ridotti, e poi ci caccio un foglio piccolo :)

p.s. basta commentare la seconda riga.