Italian Scrivere un lungo testo su un PDF, magari giustificato.

AlpVir

Well-Known Member
Licensed User
Longtime User
L'istruzione
B4X:
pdf.Canvas.DrawText(S, 100, 200, Typeface.DEFAULT,  12 / GetDeviceLayoutValues.Scale , Colors.black, "LEFT")
stampa su un documento PDF la stringa S alle coordinate 100,200.
Utilizza la libreria PDFWriter.
Ma se S è assai lungo e corrisponde al contenuto di una label o di un textview multiline (parecchie righe) le cose non vanno bene; viene stampata solo una riga che deborda in gran parte.
Bisognerebbe ad esempio separare le varie righe della label (o del textview multiline) così come appaiono sullo schermo e poi scrivere qualcosa del genere :
B4X:
for N=1 to 5
 pdf.Canvas.DrawText(Riga(N), 100, 200+N*10, Typeface.DEFAULT,  12 / GetDeviceLayoutValues.Scale , Colors.black, "LEFT")
next
Meglio ancora sarebbe lasciar perdere come la stringa S è vista sullo schermo e scrivere una funzione che giustifica il testo, il che non è affatto banale.
C'è qualche libreria che effettua una qualche giustificazione (ad esempio JustifyTextViewer) ma non mi sembra che si possa adattare al presente caso.
Grazie per l'attenzione
 
Top