MigraDoc 格式化

MigraDoc Formatting

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

基本上,我试图创建相同的每个页面。无论 "bodyParagraph" 内容中的行数如何,相同的页眉、页脚和正文都采用相同的 space。如果我采取了完全错误的方法,我愿意接受建议。

此外,如果有一个很好的教程可以指导我,那就太好了。除了样品,我真的找不到任何东西。我已经从样本中学到了一切,但是部分、段落等对我来说都是新的,我想更好地了解我所做的事情。

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;
    }

Paragraph bodyParagraph = section.AddParagraph(); 行添加了一个空段落。我假设那是第一页上的额外 space。
以下代码块中的 renderDate 存在相同问题。 如果不需要,只需删除调用 section.AddParagraph() 即可删除空段落。

MigraDoc 与 Word 非常相似,可以理解部分、段落等。 in Word 还将帮助您使用 MigraDoc。这些知识以及示例和 IntelliSense 应该可以帮助您前进。

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