1

我正在尝试创建一个包含所有页面页眉和页脚的 docx 文档。对于标题,我希望图像占据所有标题。如下图所示: 我想要的文档标题 对于页脚,我希望它位于左侧,而在右侧我想要页码。如下图所示: 我想要文档的页脚

我现在拥有的是:

        using (var docx = DocX.Create(filename))
        {
            docx.AddHeaders();
            docx.AddFooters();
            var headerDefault = docx.Headers.odd;
            var footerDefault = docx.Footers.odd;
            Novacode.Paragraph hp = headerDefault.InsertParagraph();
            Novacode.Paragraph fp = footerDefault.InsertParagraph();
            Novacode.Image logoHeader = docx.AddImage(System.Web.HttpContext.Current.Server.MapPath("/Images/jpg/header_pdf.jpg"));
            Novacode.Image logoFooter = docx.AddImage(System.Web.HttpContext.Current.Server.MapPath("/Images/jpg/footer_pdf.jpg"));
            hp.AppendPicture(logoHeader.CreatePicture());
            fp.AppendPicture(logoFooter.CreatePicture());

问题是页眉和页脚都获得了文档其余部分的边距,即使我这样做了

            docx.MarginTop = 0F;
            docx.MarginRight = 0F;
            docx.MarginBottom = 0F;
            docx.MarginLeft = 0F;

页眉上仍然有一个上边距,页脚上仍然有一个下边距。

有没有人有办法解决吗?谢谢

4

1 回答 1

0

迟到的答案,但也许对某人有用 - 我遇到了同样的问题。问题在这里:

Novacode.Paragraph hp = headerDefault.InsertParagraph();
Novacode.Paragraph fp = footerDefault.InsertParagraph();

页眉和页脚已经有段落,你应该得到它:

Novacode.Paragraph hp = headerDefault.Paragraphs.First();

所以出现边距是因为有两个段落,其中一个是空的,但有新的行符号。

于 2018-07-27T14:05:49.720 回答