我的任务是重构一个不再由我的公司开发的,由开发人员编写的旧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/