首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MigraDoc格式

MigraDoc格式
EN

Stack Overflow用户
提问于 2018-06-18 14:40:51
回答 1查看 1.4K关注 0票数 0

我是全新的PDF创建,包括MigraDoc。我已经走到了这一步,这非常接近我现在想要的。我的问题是,我传递给"bodyParagraph“的文本字符串(BodyParagraph)长达100行,这将导致创建三个页面,这是很好的。然而,第一页的上缘略大于第二和第三页。我不知道为什么..。

基本上,我试图创建每一页相同的。无论"bodyParagraph“内容中有多少行,相同的页眉、页脚和正文都要占用相同的空间。如果我采取了完全错误的做法,我就愿意接受建议。

另外,如果有一个很好的教程来指导我,那就太好了。除了样品我什么也找不到。我已经从样本中学到了所有的东西,但是章节、段落等对我来说都是新的,我想更好地了解我所做的事情。

代码语言:javascript
复制
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;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 14:59:36

Paragraph bodyParagraph = section.AddParagraph();添加了一个空段落。我想这是第一页的额外空间。

下面的代码块中的renderDate也有相同的问题。只要删除调用section.AddParagraph(),以删除空段落,如果你不想。

MigraDoc很像单词和理解部分,段落和C。在Word中也会帮助您使用MigraDoc。这些知识,以及样本和IntelliSense,应该会让你走。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50911991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档