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.
- Selecione Inserir > Cabeçalho ou rodapé .
- Selecione um dos projetos internos.
- Digite o texto que você deseja no cabeçalho ou rodapé.
- 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#.
- Crie uma instância de xwpfdocument classe
- Adicione instâncias de xwpfparagraph e xwpfrun para criar um parágrafo com o texto necessário
- Crie um cabeçalho usando ct_hdr e defina suas propriedades e texto como mostrado no código
- Crie um rodapé usando ct_ftr e defina suas propriedades e texto como mostrado no código
- Crie relações exclusivas do cabeçalho e rodapé usando xwpfrelation
- 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.