|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2010
Messaggi: 102
|
[java] stampa di testo
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? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Sep 2010
Messaggi: 102
|
nello specifico, mi ero dimenticato di scrivere, sto usando questa soluzione:
Codice:
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"); Non funziona nemmeno usando come dimensione lo standard ISO.A4 ( a scanso di equivoci). Idee? |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Sep 2010
Messaggi: 102
|
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. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:37.