如何在MigraDoc中设置段落宽度?我想象的只是创建表并设置列宽,然后段落填充所有宽度。但我需要下一个:
var paragraph016 = section.AddParagraph();
paragraph016.Format.Borders.Bottom.Visible = true;
paragraph016.Format.WidowControl = true;
//here must be define paragraph width
或者也许有人知道如何在页面上画线,我可以在哪里设置线条的宽度和位置?
答案 0 :(得分:1)
您可以通过指定左右缩进来间接设置宽度。我不知道这是否会导致所需的线路,但值得一试。
表格可以使用。
图像也可以使用 - 最好使用矢量图像(可以是PDF),但是具有所需颜色的单个像素的光栅图像也应该有效。
答案 1 :(得分:1)
我使用段落宽度作为我的'添加水平规则'辅助方法的一部分。使用左右缩进效果很好:
public static void AddHorizontalRule(Section section, double percentWidth, Color? color = null)
{
double percent = (percentWidth < 0.0 || percentWidth > 1.0) ? 1.0 : percentWidth;
Color hrColor = color ?? new Color(96, 96, 96); // Lt Grey default
Unit contentWidth = section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin;
Unit indentSize = (contentWidth - (percent * contentWidth)) / 2.0;
Paragraph paragraph = section.AddParagraph();
paragraph.Format.LeftIndent = indentSize;
paragraph.Format.RightIndent = indentSize;
paragraph.Format.Borders.Top.Visible = true;
paragraph.Format.Borders.Left.Visible = false;
paragraph.Format.Borders.Right.Visible = false;
paragraph.Format.Borders.Bottom.Visible = false;
paragraph.Format.Borders.Top.Color = hrColor;
}
请注意,因为部分的PageSetup值为0,因此使用默认文档设置(如上所示使用客户区宽度),您需要在调用此方法之前在section.PageSetup中显式设置这些值。我是这样做的,所以我不必传递文件也不必依赖document.LastSection是我正在处理的部分。我只是传入一个Section对象并拥有它。
享受! 布赖恩