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

Discussion in 'Italian Forum' started by AlpVir, Apr 17, 2018 at 2:22 AM.

  1. AlpVir

    AlpVir Well-Known Member Licensed User

    L'istruzione
    Code:
    pdf.Canvas.DrawText(S, 100200Typeface.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 :
    Code:
    for N=1 to 5
     pdf.Canvas.DrawText(Riga(N), 
    100200+N*10Typeface.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
     
Loading...