如何使用间距、制表符或填充对齐列中的内容?
Posted
技术标签:
【中文标题】如何使用间距、制表符或填充对齐列中的内容?【英文标题】:How to align content in columns using spacing, tabs or padding? 【发布时间】:2013-02-05 15:06:20 【问题描述】:我正在尝试创建一个看起来像这样的 pdf
但是当我尝试使用字符串填充时,它在 pdf 文件中看起来像这样
这是我尝试过的 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);
【问题讨论】:
问题是..? 【参考方案1】:有两种方法可以做到这一点:
-
使用等宽字体(例如 Courier)。目前您使用的是不同字符宽度不同的字体。
下载 chapter 2 of my book 并学习如何使用 TAB CHUNKS(在第 48 页查找该标题)。
按照 mkl 在他的评论中指出的那样使用 PdfPTable(也许您忽略了显而易见的问题)
如果您需要选项 2 的代码 sn-p,请查看 DirectorOverview3 示例。结果看起来像this。如果您不懂 Java,请阅读C# example。
【讨论】:
谢谢。我试过第一个,结果是; like this我明天也试试其他的。以上是关于如何使用间距、制表符或填充对齐列中的内容?的主要内容,如果未能解决你的问题,请参考以下文章