Cabeçalhos e rodapés são comumente usados ​​enquanto trabalham com documentos do Word. Eles dão uma visão clara do tema principal do documento, bem como qualquer informação adicional que precisa ser colocada na frente dos leitores. O Microsoft Word permite adicionar informações de cabeçalho e rodapé ao seu documento com personalização. Se você é um desenvolvedor de aplicativos .NET que está interessado em desenvolver (ou desenvolver) um aplicativo para processamento de documentos do Word, adicionar o recurso de inserir cabeçalhos e rodapés em documentos do Word do seu aplicativo pode ser um recurso benéfico. Neste artigo, seguiremos as etapas para adicionar cabeçalho e rodapé a um documento do Word de dentro de um aplicativo .NET. Usaremos a API NPOI para .NET em c# para esse fim.

Como inserir cabeçalho e rodapé no documento do Word usando o Microsoft Word?

Antes que possamos começar a analisar como adicionar informações de cabeçalho e rodapé a um documento do Word de um aplicativo .NET, vamos primeiro dar uma olhada em como podemos fazer o mesmo usando o Microsoft Word.

Etapas para inserir cabeçalho e rodapé no documento usando o Microsoft Word

Você pode usar as etapas a seguir para inserir o cabeçalho e o rodapé em um documento DOCX usando o Microsoft Word.

  1. Selecione Inserir > Cabeçalho ou rodapé .
  2. Selecione um dos projetos internos.
  3. Digite o texto que você deseja no cabeçalho ou rodapé.
  4. Selecione Feche o cabeçalho e o rodapé quando terminar.

como inserir cabeçalho e rodapé usando npoi em c#

Agora que vimos como inserir cabeçalho e rodapé em um documento do Word usando o Microsoft Word, vamos dar uma olhada em como fazer o mesmo usando a API NPOI para .NET em nosso aplicativo C#. Caso você não tenha muita idéia sobre o NPOI, pode passar por nosso guia abrangente para NPOI e suas diretrizes de instalação.

Etapas para inserir cabeçalho e rodapé no documento do Word usando C#

Nesse estágio, esperamos que você tenha criado um aplicativo de console C# simples e adicionou a API NPOI. Use as etapas a seguir para adicionar um cabeçalho e rodapé no documento do Word usando a API NPOI em C#.

  1. Crie uma instância de xwpfdocument classe
  2. Adicione instâncias de xwpfparagraph e xwpfrun para criar um parágrafo com o texto necessário
  3. Crie um cabeçalho usando ct_hdr e defina suas propriedades e texto como mostrado no código
  4. Crie um rodapé usando ct_ftr e defina suas propriedades e texto como mostrado no código
  5. Crie relações exclusivas do cabeçalho e rodapé usando xwpfrelation
  6. Salve o arquivo para disco usando o objeto 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);
}

Conclusão

Neste artigo, vimos como adicionar um cabeçalho e um rodapé a um documento do Word usando a API NPOI em C#. Adicionaremos mais exemplos como esses aos nossos artigos futuros para trabalhar com a API NPOI em C# para processamento de documentos. Então fique ligado.