2013-11-27 54 views
1

如何在MigraDoc中設置段落寬度?所有我想象的是創建表並設置列寬,然後段落填充所有寬度。但是,我需要這樣的東西未來:在MigraDoc中設置段落寬度的問題

var paragraph016 = section.AddParagraph(); 
paragraph016.Format.Borders.Bottom.Visible = true; 
paragraph016.Format.WidowControl = true; 
//here must be define paragraph width 

或者,也許有人知道我怎麼能畫線的頁面上,在那裏我可以設置寬度和我行的位置?

回答

1

可以通過指定左和右縮進間接設置的寬度。我不知道這是否會導致所需的路線,但值得一試。

一個表將工作。

圖像也可以工作 - 對於矢量圖像(可能是PDF)最好,但是具有所需顏色的單個像素的光柵圖像也應該有效。

+0

感謝您的幫助,但我創建了單一方法插入寬度和值,並通過固定列和MergeRight屬性在表中顯示在頁面中。 – BorHunter

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對象並擁有它。

享受! Brian