【问题标题】:Migradoc and PDfSharp add line after text till the end of the pageMigradoc 和 PDfSharp 在文本之后添加行直到页面末尾
【发布时间】:2012-07-10 15:01:16
【问题描述】:

到目前为止我有这个:

Table table = CreateBaseTable();
Row row = table.AddRow();
    {
        row.Cells[0].AddParagraph().AddFormattedText(text, bold);
    }

我想在这段文字后面加一行,例如:

这是一个标题 ------------------------------- ----------------------------------------- 但没有点缀。

谢谢

【问题讨论】:

    标签: pdfsharp migradoc


    【解决方案1】:

    如果您想在文本右侧添加一行:使用带有一行的制表位作为填充(这就是您的问题中的样子,但我认为这不是您想要的)。

    如果要在文本下方设置行:设置表格单元格(或表格行)的边框。在您的情况下,将底部边框宽度设置为所需宽度,将其他边框(顶部、左侧、右侧)的宽度设置为 0。

    对于该行,尝试如下代码:

    row.Borders.Bottom.Visible = true;
    row.Borders.Bottom.Width = 1;
    

    编辑:这是制表位的示例代码:

    paragraph = section.AddParagraph("Hello, World!");
    paragraph.Format.TabStops.ClearAll();
    paragraph.Format.TabStops.AddTabStop("16cm", TabAlignment.Right, TabLeader.Lines);
    paragraph.AddTab();
    

    我应该在指出该选项之前对其进行测试。线是在底部画的,所以看起来像
    标题________________ _____

    TabLeader 还提供破折号(您不想要)或 MiddleDots(您也没有要求)。 所以恐怕没有简单的解决方案可以得到你想要的。

    【讨论】:

    • 感谢您的回复。我不希望它在下面;正如我在帖子中所说,我想要文本后面的行。所以我有文本,然后当最后一个单词结束时,我想要一行开始并走到行尾。它在我的问题中的样子就像一条虚线,因为我无法用文字写出整行。所以我想在单词后面加一行(在最后一个单词的右侧)。那么您能否给我一个“以一行作为填充的制表位”的示例?谢谢
    • 已添加 TabStops 的示例代码。恐怕他们不会完全按照您的意愿行事。
    • 好的,谢谢,我会标记为答案。答案是无法做到的。好吗?
    • 答案是:我不知道一个简单的解决方案。 (MigraDoc 是开源的,所以如果你有足够的时间,总有办法做到这一点。) MigraDoc 很像 Word。你能用 Word 做到这一点吗?
    猜你喜欢
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 2013-04-05
    • 1970-01-01
    相关资源
    最近更新 更多