iTextSharp在页面上的随机位置的文本(标题)下绘制线条

时间:2011-06-16 12:08:31

标签: itextsharp underline

有没有人知道我如何在一个标题(一段粗体文字)下画一条线,该标题可能位于页面的随机位置。

e.g。

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

Some random paragraph


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

我可以像上面使用一行下划线 _ 那样做,但是为了让线条靠近标题,我必须将字体大小设置为2,这会导致斑点丑陋的线条。

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

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

非常感谢任何帮助。

干杯 罗布

2 个答案:

答案 0 :(得分:8)

LineSeperator对象可能正是您要找的对象。用一块大块包裹它并把它放在你需要的地方。

这是一个示例行分隔符:

Chunk linebreak = new Chunk(new LineSeparator(4f, 100f, colorGrey, Element.ALIGN_CENTER, -1));
doc.Add(linebreak);

答案 1 :(得分: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);