4

有谁知道我如何在可能位于页面上随机位置的标题(一小段粗体文本)下画一条线。

例如

My Heading 1
---------------------------------------------- 

Some random paragraph


My Heading 2
----------------------------------------------

我可以像上面那样使用一行下划线_来做到这一点,但是为了在标题附近的任何地方获得该行,我必须将字体大小设置为 2,这会导致一条参差不齐的丑陋行。

我还可以在彼此顶部添加两个块(一个带有标题,一个带有_)类似于本文中的第一个示例http://www.mikesdotnetting.com/Article/82/iTextSharp-Adding-Text- with-Chunks-Phrases-and-Paragraphs使用相同的字体大小,但似乎这只适用于页面顶部,一旦我添加其他段落并尝试在页面中间进行,这两个块用 a在第一个块的末尾清除换行符。

似乎您可以在 iTextSharp 中画线,但我不知道如何计算坐标,因为我看到的所有示例都使用这种方法在页面的顶部或底部放置一条线在固定位置。

非常感谢任何帮助。

干杯抢

4

2 回答 2

10

LineSeperator 对象可能是您正在寻找的对象。用一大块包起来,放在你需要的地方。

这是一个示例行分隔符:

Chunk linebreak = new Chunk(new LineSeparator(4f, 100f, colorGrey, Element.ALIGN_CENTER, -1));
doc.Add(linebreak);
于 2011-06-23T20:42:22.673 回答
6

我知道这是一篇较旧的帖子,但也许这会对某人有所帮助。

//Create Chunk for underline
Chunk chkHeader = new Chunk("My Title", fnt13Bold);
chkHeader.SetUnderline(1f, -2f);
//Add Chunk to paragraph
Paragraph pHeader = new Paragraph(chkHeader);
于 2012-01-09T14:29:49.013 回答