2016-03-24 65 views
1

iTextSharp,如何設置兩個單元(PdfPCell如何兩個單元

代碼之間的空間設置空間:

var doc = new Document(); 
PdfWriter.GetInstance(doc, new FileStream("C:/Doc1.pdf", FileMode.Create)); 

doc.Open(); 

PdfPTable table = new PdfPTable(1); 

PdfPCell cell1 = new PdfPCell(new Phrase("Cell1")); 
cell1.Colspan = 1; 
table2.AddCell(cell1); 

PdfPCell cell2 = new PdfPCell(new Phrase("Cell2")); 
cell2.Colspan = 1; 
table2.AddCell(cell2); 

doc.Add(table); 

System.Diagnostics.Process.Start("C:/Doc1.pdf"); 

這裏,兩個單元創建(小區2的左邊框重疊與cell1的邊界對)。但是我需要在2個單元之間有一個的空間

+0

這工作? http://stackoverflow.com/a/10232822/231316 –

+0

我已經試過了。但邊界重疊在那裏......我達到了目標,我發佈了一個答案。請參閱。 – User1674987

回答

0

我通過爲表中的列設置width來實現如下。

table.SetWidths(new float[] { 1f, 0.1f, 1f }); 

PdfPCell cell1 = new PdfPCell(new Phrase("Cell1")); 
table.AddCell(cell1); 

//dummy cell created to have an empty space with width `0.1f` which was declared //above. 
PdfPCell cell2 = new PdfPCell(new Phrase("")); 
table.AddCell(cell2); 

PdfPCell cell3 = new PdfPCell(new Phrase("Cell3")); 
table.AddCell(cell3); 
1

用cellpadding玩一下。像這樣:

var doc = new Document(); 
PdfWriter.GetInstance(doc, new FileStream("C:/Doc1.pdf", FileMode.Create)); 

doc.Open(); 

PdfPTable table = new PdfPTable(1); 

PdfPCell cell1 = new PdfPCell(new Phrase("Cell1")); 
cell1.Colspan = 1; 
cell.PaddingRight = 20f; //Here you can set padding (Top, Bottom, Right, Left) 
table2.AddCell(cell1); 

PdfPCell cell2 = new PdfPCell(new Phrase("Cell2")); 
cell2.Colspan = 1; 
table2.AddCell(cell2); 

doc.Add(table); 

System.Diagnostics.Process.Start("C:/Doc1.pdf"); 
+0

不,我試過了。這些變化發生在單元格內部。我的問題是在兩個單元格之間,我需要一個空格。 – User1674987