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

Rob*_*Rob 4 underline itextsharp

有没有人知道如何在一个标题(一个粗体文本的短行)下画一条线,它可能位于页面上的随机位置.

例如

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

Some random paragraph


My Heading 2
----------------------------------------------
Run Code Online (Sandbox Code Playgroud)

我可以这样做,就像我上面使用一行下划线_但为了得到标题附近的任何地方我必须将字体大小设置为2,这会导致一条斑驳的丑陋线.

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

看来你可以在iTextSharp中绘制线条,但我不知道如何计算坐标,因为我看到的所有例子都使用这种方法在固定位置的页面顶部或底部放置一条线.

任何帮助非常感谢.

干杯罗布

Jus*_*oof 8

LineSeperator对象可能正是您要查找的对象.用一块大块包裹它,然后把它放在你需要的地方.

这是一个示例行分隔符:

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


Mik*_* T. 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);
Run Code Online (Sandbox Code Playgroud)