MigraDoc不会自动添加分页符

时间:2016-03-10 20:28:53

标签: c# pdf migradoc

我的任务是重构一个由我的公司不再使用的开发人员编写的旧MigraDoc项目,并且遇到以下代码问题。

self.engine = create_engine(get_db_path(), poolclass=NullPool)

这是有效的,并且它采用双管分隔的注释字段并按预期将其分成新行。问题是,对于非常大的注释字段,渲染的PDF只有1页,文本只是在页面外运行。 (我正在测试的项目在备注字段中有足够的数据,在渲染的PDF中有20多页。)

修改

代码位于像这样定义的文本框架内。

var Split = new String[1];
Split[0] = "||";
if (invoiceObject.Note != null)
{
    var Lines = invoiceObject.Note.Split(Split, StringSplitOptions.RemoveEmptyEntries);
    for (var i = 0; i < Lines.Count(); i++)
    {
        if (i > 0)
            lineItemParagraph.AddLineBreak();

        lineItemParagraph.AddText("" + Lines[i].Replace(" ", " ").Replace("|", ""));

    }
}

Text框架位于如下定义的部分内。仔细查看代码,看来这是PDF上唯一的部分。我可能需要更多部分吗?

TextFrame lineItemFrame;
this.lineItemFrame = section.AddTextFrame();
this.lineItemFrame.Height = "3.0cm";
this.lineItemFrame.Width = "8.0cm";
this.lineItemFrame.Left = "0cm";
this.lineItemFrame.RelativeHorizontal = RelativeHorizontal.Margin;
this.lineItemFrame.Top = "9.0cm";
this.lineItemFrame.RelativeVertical = RelativeVertical.Page;

我无法弄清楚如何让MigraDoc自动为我添加分页符。

我错过了一些非常明显的东西吗?

1 个答案:

答案 0 :(得分:3)

MigraDoc自动添加分页符 - 有两个例外:TextFrames不会中断,表行不会中断。表只在行之间中断。