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

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("|", ""));

    }
}


这是可行的,它正在使用双竖线分隔注释字段,并按预期将其分成新行。问题在于,对于非常大的注释字段,渲染的PDF仅具有1页,而文本仅在该页上运行。 (我正在测试的项目在“备注”字段中有足够的数据用于渲染的PDF中的20多页)。

编辑

该代码在这样定义的文本框架内。

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;


文本框位于这样定义的部分中。浏览代码,这似乎是PDF上的唯一部分。我是否可能需要更多部分?

section = this.document.AddSection();
section.PageSetup.StartingNumber = 1;


我不知道如何让MigraDoc自动为我添加分页符。

我是否错过了明显痛苦的事情?

最佳答案

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

关于c# - MigraDoc不自动添加分页符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35926611/

10-09 02:30