|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
[JAVA] Stampare direttamente sulla stampante
devo stampare delle cartoline di auguri ad un elenco di clienti che ho nel mio archivio....e volevo fare una classse che mandasse instampa autoameticamente il tutto.
come posso fare?
__________________
My gaming placement |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Crei una classe che concretizza Printable e disegna i dati del cliente su una cartolina. Prendi Book, aggiungi uno dei tuoi Printable per ogni cartolina, lo passi a PrinterJob (setPageable) e con un print() stampi il tutto.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
Book sarebbe??? è un calasse??? ora cerco nelle api in attesa di una tua risposta ![]()
__________________
My gaming placement |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Book è una classe e serve per "impilare" più oggetti Printable in modo da mandare in stampa tutto quanto in un blocco, eventualmente con dimensioni di pagina diverse.
Le dimensioni della cartolina puoi impostarle come dimensioni di pagina (PageFormat) tramite il PrinterJob o puoi frazionare una pagina A4 in stampando più cartoline su un solo modulo. Se hai delle cartoline in bianco da mettere nella stampante allora usi PageFormat. Se invece devi "ritagliarle" dopo averle stampate allora usi come formato pagina la dimensione del foglio e stampi più cartoline con un solo Printable. Per quanto riguarda il fronte-retro bisogna vedere le la stampate lo supporta fisicamente o no. In caso affermativo è sufficiente far stampare al Printable due pagina anzichè una: la prima disegna la parte anteriore, la seconda la posteriore. Altrimenti devi definire un Printable per la parte anteriore e uno per la posteriore. Stampi, giri la carta, stampi, fine. Il problema di questo tipo di stampa è che se la stampate prende due fogli in una volta sola (cosa tutt'altro che rara) mandi a quel paese tutte le pagine successive.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
o non ho capito o non sono stato chiaro:
la cartolina che devo stampare è tipo "questa": http://www.unostudioinholmes.org/fir.../cartolina.jpg solo che a volte i dati per l'indirizzo sono a sinistra e a volte a destra. io da software volevo fare un qualcosa del genere: scelgo l'ìelenco dei contatti a cui devo mandare le cartoline (oggetto contatto con tutti i dati all'interno) selezione se l'idirizzo è a destra o sinistra, e mando in stampa. nella stampante metto le 50 cartoline (numero indicativo) e lui me le compila da solo. allora per settare il formato della cartolina posso usare il pageFormata (che unità di misura usa???), ma per dirgli a "che altezza" stampare indirizzi e messaggi??? uso delle misure in pixel tipo print ("indirizzo amico", verticeSinistroAltoX,verticeSinistroAltoY,altezza,larghezza) oppure devo usare altro? sò che le cartoline sono tutte diverse, infatti prevedo la scelta della "struttura" in questo modo (vorrei) : indirizzo dx alto-medio-basso e idem per sinistra
__________________
My gaming placement |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
altezza e larghezza della cartolina la incapsuli in un PageFormat, da impostare come formato di pagina per il PrinterJob.
La posizione degli elementi la stabilisci nel metodo print del printable. Nel metodo print usi il PageFormat per stabilire l'ampiezza della superficie effettivamente stampabile: la cartolina può essere di 10x7 cm ma non è detto che la stampante possa occupare fisicamente tutta quell'era (alcune hanno un margine di stampa minimo ma rilevante). Personalmente ritengo sempre conveniente usare un approccio "percentuale" alla stampa, cioè calcoli la posizione degli elementi in proporzione all'altezza e larghezza dell'area stampabile il che ti garantisce una certa indipendenza dalle peculiarità della stampente. Volendo adottare un approccio assoluto, un punto nel Graphics del Printable corrisponde a 0.35 millimetri sul foglio.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Si sa perchè è così?
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ci mancherebbe (mica pensavo che fosse il risultato empirico di una tua effettiva misurazione
![]() Ok, è OT.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il settataduesimo di pollice (che corrisponde ai predetti millimetri per chi usi il sistema metrico decimale al posto di mani, piedi, pertiche e così via) salta fuori da qualche standard ma ora come ora non ricordo quale.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ok grazie, vado a soddisfare le mie curiosità da gugle.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
pgi a volte mi fai paura...per curiosità....ma tutta farina del tuo sacco (quindi appassionato) o ti ci ha portato la vita (lavoro/scuola)
__________________
My gaming placement |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
E' tutta farina di sacchi altrui: leggi di qua, leggi di là, alla fine te le ricordi.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
![]()
__________________
My gaming placement |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
![]()
__________________
My gaming placement |
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Banalmente se devi stampare un nome ed un cognome in un certo campo di una scheda calcoli la posizione del campo sulla scheda in ragione di una percentuale dell'altezza e della larghezza della pagina. Dopodichè estrai le coordinate applicando quella percentuale alla superficie della pagina nel metodo print. La cosa da una sua flessibilità alla stampa e ti permette di adattare rapidamente il codice ad eventuali cambiamenti nelle dimensioni della scheda.
Parlo naturalmente di stampa di moduli. Per disegni et similia uno usa le coordinate del disegno, eventualmente in scala.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
siccome dovrò scrivere Nome Cognome Indirizzo Comune(PROVINCIA) come posso calcolare le lunghezze di questi caratteri??? tipo se l'indirizzo è troppo lungo e voglio spezzarlo su 2 righe, come faccio?
__________________
My gaming placement |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Puoi usare LineBreakMeasurer. Gli dai in pasto il testo che vuoi disegnare dopodichè gli passi lo spazio orizzontale in cui vuoi disegnare quel testo e lui ti restituisce tanti TextLayout quante sono le linee risultati. Se il testo occupa una sola riga in quello spazio avrai un solo TextLayout, altrimenti ne otterrai più d'uno. C'è un esempio nella javadoc che dice tutto e di più al riguardo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Assolutamente OT:
cazzarola PGI!!!! secondo me tu ci nascondi un sistema ultra avanzato di question aswering!! oppure conosci tutta la documentazione a memoria ![]() Fenomenale!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:20.