Originariamente inviato da andbin
Scusa, non vorrei sembrare scortese ma a questo punto faccio una premessa che magari per te è banale: se stai facendo un layout grafico di stampa ben preciso dove loghi/testi devono stare in posizioni ben precise oppure "ancorati" ad un tot dai margini, in sostanza i margini del
tuo layout li puoi imporre tu.
Chiaramente le stampanti hanno dei margini "fisici" oltre cui non sono in grado materialmente di stampare. Ma in genere, specialmente per la parte in alto, sono margini piccoli, di pochi millimetri (ad esempio la mia HP 1022nw ha il margine fisico superiore di circa 4mm).
Quindi se si stabilisce un buon margine per la tua grafica si può essere ragionevolmente certi che non sarà tagliata.
Supponiamo che tu voglia disegnare la tua immagine nella parte in alto/destra a 10 millimetri dal bordo superiore e dal bordo destro.
Innanzitutto calcoli i margini per avere i 'pt' (1/72 di pollice). 10 millimetri sono circa 28,35 pt. Quindi per disegnare la tua immagine passerai:
codice:
double x = pageFormat.getWidth() - puntiImmagine - 28.35;
double y = 28.35;
g2d.drawImage(img, x, y, null);
dove puntiImmagine è la dimensione in pixel della tua immagine (se ti va bene l'equivalenza 1 pixel = 1/72 pollice)
E nota, senza traslare gli assi, così (0,0) è proprio l'angolo in alto/sinistra del foglio.