列文本溢出列宽

时间:2016-12-05 11:35:28

标签: c# pdf-generation migradoc

我正在使用Migradoc生成一个表并为少数列填充一些动态数据,我在定义表结构时定义了列宽 -

viewmodel

现在第三列有数据(Table table = new Table(); Column column = table.AddColumn(Unit.FromCentimeter(6)); column.Format.Alignment = ParagraphAlignment.Left; table.AddColumn(Unit.FromCentimeter(6)); table.AddColumn(Unit.FromCentimeter(8)); ),但是它溢出了列并被截断到页面的右侧。它会自动换行但不正确,第二行会丢失一些文字。见图:

enter image description here

在包装文本中修复此问题的任何指针都将不胜感激。

更新 - (显示如何添加表格数据的代码段)

acs800-07-1234a-5+asdf+asdf+qwer+wert+2345+rg+2345+ag+35+qwe1252rg+34tgh+24rg+253rg+23rgh+235rgh+@34gh+23rg-4s544

1 个答案:

答案 0 :(得分:1)

由于Migradoc仅在空格,连字符和软连字符处断线,我在每45个字符(您根据列宽度选择)之后插入space,因此该值被正确包裹而没有任何影响显示输出(没有可见的额外字符)

代码段 -

    String myString = "acs800-07-1234a-5+asdf+asdf+qwer+wert+2345+rg+2345+ag+35+qwe+125+2rg+34tgh+24rg+253rg+23rgh+235rgh+@34gh+23rg-4s544";

    cell.AddParagraph(Regex.Replace(myString, ".{45}", "$0 "));

<强>输出 enter image description here