2013-06-20 6 views

risposta

8

Si sta confondendo modalità testo con modalità composita.

Nel primo frammento di codice, si lavora nella modalità testo . Ciò significa che il contenuto della cella è considerato solo testo e vengono rispettate le proprietà della cella, mentre le proprietà degli elementi aggiunti alla cella vengono ignorate.

Nel secondo frammento di codice, si lavora in modalità composita. Una cella passa alla modalità composita nel momento in cui si utilizza il metodo AddElement(). In questo caso, le proprietà della cella vengono ignorate. Invece si usano le proprietà degli elementi.

Ad esempio: in modalità testo, il contenuto della cella può avere solo un tipo di allineamento. In modalità composita, puoi avere un paragrafo che è allineato a sinistra, un paragrafo centrato e un paragrafo allineato a destra, tutto nella stessa cella.

+0

Quindi, in 'Modalità testo 'non si può avere una cella che abbia' cell.HorizontalAlignment = Element.ALIGN_CENTER' + 'cell.VerticalAlignment = Element.ALIGN_MIDDLE'. È un'opzione o l'altra, non entrambi gli allineamenti allo stesso tempo? –

+0

In * modalità composita * (non * modalità testo *), qualsiasi valore impostato per 'cell.HorizontalAlignment' verrà ignorato a favore dell'allineamento orizzontale degli elementi nella cella. Non ho detto nulla sull'allineamento verticale. Questa non è una proprietà di 'Paragraph',' Image', ... –

4

Ora sì, ha funzionato.

PdfPCell cell1 = new PdfPCell(); 
Paragraph p1 = new Paragraph("Text 1", Font); 
p1.Alignment = Element.ALIGN_RIGHT; 
Paragraph p2 = new Paragraph("Text 2", Font); 
p2.Alignment = Element.ALIGN_RIGHT; 

cell1.AddElement(p1); 
cell1.AddElement(p2); 

Grazie.

+0

Ha questa risposta ha in realtà un esempio di codice che funziona –