2013-02-20 32 views
0

我試圖創建一個PDF看起來像這樣如何使用間距,製表符或填充對齊列中的內容?

look like1

但是當我嘗試串填充,它看起來像這樣在PDF文件 look like2

這裏是C#代碼的一部分我試過了。 myExcelData由excel文件填充。

  for (int i = 0; i < 15; i++) 
     { 
      Chunk cSira = new Chunk((i + 1).ToString().PadRight(10), icerikFont); 
      Chunk cHizmet = new Chunk(myExcelData.Tables[0].Rows[i][6].ToString().PadRight(80), icerikFont); 
      Chunk cAdet = new Chunk(myExcelData.Tables[0].Rows[i][1].ToString().PadRight(10), icerikFont); 
      Chunk cBirimFiyat = new Chunk(myExcelData.Tables[0].Rows[i][2].ToString().PadRight(20), icerikFont); 
      Chunk cTutar = new Chunk(myExcelData.Tables[0].Rows[i][3].ToString().PadRight(20), icerikFont); 
      d.Add(cSira); 
      d.Add(cHizmet); 
      d.Add(cAdet); 
      d.Add(cBirimFiyat); 
      d.Add(cTutar); 
      d.Add(Chunk.NEWLINE); 
     } 
+0

而問題是..? – 2013-02-20 15:02:08

回答

2

有兩種方法可以做到這一點:

  1. 使用等寬字體(例如信使)。目前您正在使用不同字符寬度的字體。
  2. 下載chapter 2 of my book並學習如何使用TAB CHUNKS(請參閱第48頁的標題)。
  3. 使用PdfPTable作爲MKL表示他的意見(也許你可以俯瞰明顯)

如果您需要選擇2的代碼片段,看看在DirectorOverview3例子。結果看起來像this。如果你不懂Java,請閱讀C# example

+1

...或者3.在iText中使用表... – mkl 2013-02-20 16:10:45

+0

謝謝。我試過第一個,結果是; [像這樣](http://i.imgur.com/GNKdKaJ.png) 明天我也會試試其他的。 – echbel 2013-02-20 19:25:28