2009-05-18 9 views
5

Sto utilizzando iTextSharp per generare alcuni file PDF. Ho due tabelle che hanno il contenuto, e voglio mettere un po 'di spazio tra le due tabelle, ad esempio l'equivalente di 1 riga di testo (usando lo stesso carattere delle tabelle intorno allo spazio).Spaziatura verticale iTextSharp

Di seguito è riportato il codice che sto utilizzando per aggiungere le due tabelle. Quello che non riesco a capire è come posizionare uno spazio verticale tra i due tavoli.

Table upperTable = new Table(1); 
upperTable.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
upperTable.AddCell(new Phrase("some text", font3)); 
d.Add(upperTable); 
Table lowerTable= new Table(1); 
lowerTable.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
lowerTable.AddCell(new Phrase("some other text", font3)); 
d.Add(lowerTable); 

Qualcuno può dirmi come posso aggiungere lo spazio verticale tra i due tavoli?

Grazie!

risposta

2

Ho trovato una soluzione che funziona ... aggiungere le nuove righe come parte della stringa precedente o la stringa seguente allo spazio che voglio creare. Ad esempio:

Table upperTable = new Table(1); 
upperTable.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
upperTable.AddCell(new Phrase("some text" + '\n', font3)); 
d.Add(upperTable); 
Table lowerTable= new Table(1); 
lowerTable.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
lowerTable.AddCell(new Phrase('\n' + "some other text", font3)); 
d.Add(lowerTable); 

causerebbe 2 linee cui altezza è definita da font3 aggiunto tra il "some text" e "some other text"

12

Uso PdfPTable invece. Ha proprietà SpacingBefore e SpacingAfter

Ad esempio:

PdfPTable upperTable = new PdfPTable(1); 
upperTable.AddCell(new Phrase("some text", font3)); 
upperTable.SpacingAfter = 10f; 
+4

La domanda è stata del 2009. iTextSharp aveva l'oggetto 'table' fino 4.3.x, e dalla versione 5.x in poi, è' PdfPTable' –