MigraDoc格式化

时间:2018-06-18 14:40:51

标签: format migradoc

我对包括MigraDoc在内的PDF创作完全陌生。我已经走到了这一步,这与我现在想要的非常接近。我的问题是我传递给" bodyParagraph"的文本字符串(myMessage)。最多100行,这会导致创建三个页面,这很好。但是,第一页的上边距略大于第二页和第三页。我不知道为什么......

基本上,我试图创建每个页面相同。相同的页眉,页脚和正文占据相同的空间,无论" bodyParagraph"中的行数是多少。内容。如果我采取了完全错误的方法,我会接受建议。

另外,如果有一个很好的教程指出我会很好。除了样品,我真的找不到任何东西。我从样本中学到了所有东西,但是章节,段落等对我来说都是新的,我希望能更好地理解我所做的一切。

enter image description here enter image description here

public static Document CreateWorkOrderPDF2(Document document, string filename, string WorkOrderHeader, string myMessage)
    {
        Section section = document.AddSection();
        section.PageSetup.PageFormat = PageFormat.Letter;

        section.PageSetup.StartingNumber = 1;

        section.PageSetup.LeftMargin = 40;
        //Sets the height of the top margin
        section.PageSetup.TopMargin = 100;
        section.PageSetup.RightMargin = 40;
        section.PageSetup.BottomMargin = 40;

        //MARGIN
        HeaderFooter header = section.Headers.Primary;
        header.Format.Font.Size = 16;
        header.Format.Font.Color = Colors.DarkBlue;

        MigraDoc.DocumentObjectModel.Shapes.Image headerImage = header.AddImage("../../Fonts/castorgate.regular.png");
        headerImage.Width = "2cm";

        Paragraph headerParagraph = section.AddParagraph();
        headerParagraph = header.AddParagraph(WorkOrderHeader);

        //BODY PARAGRAPH
        Paragraph bodyParagraph = section.AddParagraph();
        bodyParagraph = section.AddParagraph(myMessage);
        bodyParagraph.Format.Font.Size = 10;
        bodyParagraph.Format.Font.Color = Colors.DarkRed;


        //paragraph.Format.Distancne = "3cm";
        Paragraph renderDate = section.AddParagraph();
        renderDate = section.AddParagraph("Work Order Generated: ");
        renderDate.AddDateField();

        return document;
    }

1 个答案:

答案 0 :(得分:1)

Paragraph bodyParagraph = section.AddParagraph();行添加了一个空段落。我认为这是第一页上的额外空间 与以下代码块中的renderDate相同的问题。 如果您不想要,请删除电话section.AddParagraph()以删除空白段落。

MigraDoc很像Word和理解部分,段落和& c。在Word中也将帮助您使用MigraDoc。这些知识以及样本和IntelliSense应该可以帮助您。

您可以使用MigraDoc创建RTF文件,在Word中打开RTF,然后单击pilcrow以在Word中显示格式化字符。