使用Word文档时通常使用标头和页脚。他们清楚地了解了文档的主题,以及需要放在读者面前的任何其他信息。 Microsoft Word可以通过自定义将标头和页脚信息添加到文档中。如果您是一个.NET应用程序开发人员,他有兴趣开发(或已开发)用于Word文档处理的应用程序,则将插入标头和页脚插入到您的应用程序中的Word Documents的功能可能是一个有益的功能。 在本文中,我们将通过.NET应用程序中的Word文档添加标头和页脚。为此,我们将在 c# 中使用npoi api for .net。

如何使用Microsoft Word插入标题和页脚到Word文档?

在我们开始研究如何从.NET应用程序中将标头和页脚信息添加到Word文档之前,首先让我们看看如何使用Microsoft Word来进行相同的操作。

使用Microsoft Word {.wp-block-neading}插入文档中的标头和页脚的步骤

您可以使用以下步骤使用Microsoft Word插入DOCX文档中的标头和页脚。 1.选择 插入 > 标题页脚 。 2.选择内置设计之一。 3.在标题或页脚中输入所需的文本。 4.完成后选择 关闭标头和页脚

如何在C#{.wp-block-neading}中使用NPOI插入标头和页脚

现在,我们已经看到了如何使用Microsoft Word插入Word文档中的标头和页脚,让我们来看看如何在我们的C#应用​​程序中使用.NET的NPOI API进行相同的操作。如果您对NPOI没有太多了解,则可以浏览我们的[NPOI及其安装指南]的综合指南4

使用c#{.wp-block-neading}在Word文档中插入标头和页脚的步骤

在此阶段,我们希望您创建了一个简单的C#控制台应用程序,并在其中添加了NPOI API。使用以下步骤使用C#中的NPOI API在Word文档中添加标头和页脚。 1.创建一个 xwpfdocument 类的实例 2.添加 xwpfParagraphxwpfrun 的实例,以创建带有所需文本的段落 3.使用 ct_hdr 创建标头,并设置其属性和文本,如代码所示 4.使用 ct_ftr 创建页脚,并设置其属性和文本,如代码所示 5.使用 XWPFRELATION 创建标头和页脚的独特关系 6.使用 xwpfdocument 将文件保存到光盘

//Create document
XWPFDocument doc = new XWPFDocument();
XWPFParagraph para = doc.CreateParagraph();
XWPFRun run = para.CreateRun();
run.SetText("FileFomrat.com");

doc.Document.body.sectPr = new CT_SectPr();
CT_SectPr secPr = doc.Document.body.sectPr;

//Create header and set its text
CT_Hdr header = new CT_Hdr();
//header.AddNewP().AddNewR().AddNewT().Value = "FileFormat.com";
var headerParagraph = header.AddNewP();
var paragraphRun = headerParagraph.AddNewR();
var paragraphText = paragraphRun.AddNewT();
paragraphText.Value = "FileFormat.com - An Open-source File Format API Guide For Developers";
CT_PPr headerPPR = headerParagraph.AddNewPPr();
CT_Jc headerAlign = headerPPR.AddNewJc();
headerAlign.val = ST_Jc.center;

//Create footer and set its text
CT_Ftr footer = new CT_Ftr();
CT_P footerParagraph = footer.AddNewP();
CT_R ctr = footerParagraph.AddNewR();
CT_Text ctt = ctr.AddNewT();
ctt.Value = "CopyRight (C) 2023";
CT_PPr ppr = footerParagraph.AddNewPPr();
CT_Jc align = ppr.AddNewJc();
align.val = ST_Jc.center;
            
//Create the relation of header
XWPFRelation relation1 = XWPFRelation.HEADER;
XWPFHeader myHeader = (XWPFHeader)doc.CreateRelationship(relation1, XWPFFactory.GetInstance(), doc.HeaderList.Count + 1);

//Create the relation of footer
XWPFRelation relation2 = XWPFRelation.FOOTER;
XWPFFooter myFooter = (XWPFFooter)doc.CreateRelationship(relation2, XWPFFactory.GetInstance(), doc.FooterList.Count + 1);

//Set the header
myHeader.SetHeaderFooter(header);
CT_HdrFtrRef myHeaderRef = secPr.AddNewHeaderReference();
myHeaderRef.type = ST_HdrFtr.@default;
myHeaderRef.id = myHeader.GetXWPFDocument().GetRelationId(myHeader); // = myHeader.GetPackageRelationship().Id;

//Set the footer
myFooter.SetHeaderFooter(footer);
CT_HdrFtrRef myFooterRef = secPr.AddNewFooterReference();
myFooterRef.type = ST_HdrFtr.@default;
myFooterRef.id = myFooter.GetXWPFDocument().GetRelationId(myFooter);//myFooter.GetPackageRelationship().Id;

//Save the file
using (FileStream stream = File.Create("HeaderAndFooter.docx"))
{
    doc.Write(stream);
}

结论

在本文中,我们看到了如何在C#中使用NPOI API添加标头和页脚。我们将在未来的文章中添加更多这样的示例,以与C#中的NPOI API合作以进行文档处理。所以请继续关注。