Non lo conosco ma sto leggendo il thread con i possibili comandi.
Temo che dovrai usare una funzione che calcoli la larghezza del testo e di conseguenza la sua posizione rispetto al bordo destro.
Il guaio è non puoi creare la funzione con i mezzi a disposizione dati da quel PDFWriter; però, se usi una funzione per calcolare la larghezza di un testo in una Label B4A, poi ti basterà controllare di quanto (in percentuale) essa "sbagli" sul PDF e aggiustare la funzione usando questa percentuale.
Più complicato a scriverlo che a farlo:
Public Sub CalcPDFTextWidth(TestoDaStampare As String, TFace As TypeFace, FontSize as Float) As Float
Dim C As Canvas
C.Initialize(Activity)
Dim TextWidth As Float
TextWidth = C.MeasureStringWidth(TestoDaStampare, TFace, FontSize)
' TextWidth = TextWidth * 0.9 ' aggiustamento
Return TextWidth
End Sub
Questa routine calcola la larghezza del testo, ma non per il PDF, per l'Activity.
Eseguendo prove, tu troverai, ad esempio, che questa TextWidth è troppo grande di un 10%; per cui modificherai la funzione premettendo al Return:
TextWidth = TextWidth * 0.9