Los encabezados y los pies se usan comúnmente mientras se trabaja con documentos de Word. Dan una visión clara del tema principal del documento, así como cualquier información adicional que deba poner frente a los lectores. Microsoft Word le permite agregar información de encabezado y pie de página a su documento con personalización. Si es un desarrollador de aplicaciones de .NET que está interesado en desarrollar (o ha desarrollado) una aplicación para el procesamiento de documentos de Word, agregar la característica de insertar encabezados y pies de pie a los documentos de Word desde su aplicación puede ser una característica beneficiosa. En este artículo, revisaremos los pasos para agregar encabezado y pie de página a un documento de Word desde una aplicación .NET. Usaremos la API NPOI para .NET en C# para este propósito.

¿Cómo insertar el documento de encabezado y pie de página a Word usando Microsoft Word?

Antes de que podamos comenzar a investigar cómo agregar información de encabezado y pie de página a un documento de Word de una aplicación .NET, primero echemos un vistazo a cómo podemos hacer lo mismo usando Microsoft Word.

Pasos para insertar encabezado y pie de página en el documento usando Microsoft Word

Puede usar los siguientes pasos para insertar encabezado y pie de página en un documento DOCX usando Microsoft Word.

  1. Seleccione Insertar > Encabezado o Furante .
  2. Seleccione uno de los diseños incorporados.
  3. Escriba el texto que desee en el encabezado o el pie de página.
  4. Seleccione Cerrar el encabezado y el pie de página Cuando haya terminado.

Cómo insertar encabezado y pie de página usando npoi en C#

Ahora que hemos visto cómo insertar encabezado y pie de página en un documento de Word usando Microsoft Word, echemos un vistazo a cómo hacer lo mismo usando la API NPOI para .NET en nuestra aplicación C#. En caso de que no tenga mucha idea sobre NPOI, puede pasar por nuestra guía integral para NPOI y sus pautas de instalación.

Pasos para insertar encabezado y pie de página en el documento de Word usando C#

En esta etapa, esperamos que haya creado una aplicación simple de consola C# y le haya agregado una API NPOI. Use los siguientes pasos para agregar un encabezado y un pie de página en el documento de Word usando la API NPOI en C#.

  1. Cree una instancia de XWPFDocument Clase
  2. Agregue instancias de xwpfparagraph y xwpfrun para crear un párrafo con el texto requerido
  3. Cree un encabezado usando CT_HDR y establezca sus propiedades y texto como se muestra en el código
  4. Cree un pie de página usando CT_FTR y establezca sus propiedades y texto como se muestra en el código
  5. Cree relaciones únicas del encabezado y el pie de página usando XWPFrelation
  6. Guarde el archivo en disco usando el 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);
}

Conclusión

En este artículo, vimos cómo agregar un encabezado y un pie de página a un documento de Word usando la API NPOI en C#. Agregaremos más ejemplos como estos a nuestros artículos futuros para trabajar con la API NPOI en C# para el procesamiento de documentos. Así que estad atentos.