如何使用间距、制表符或填充对齐列中的内容?

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我明天也试试其他的。

以上是关于如何使用间距、制表符或填充对齐列中的内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用flexbox对齐第2列中的内容?

如何将文本与 phpstorm 或 webstorm 中的特定字符对齐?

如何左右对齐flexbox列?

如何在行内的元素之间给出间距

如何删除word中的制表位符号

如何使用flexbox进行两列布局,并在列中的项目之间使用相同的间距? [重复]