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
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…