Intestazioni e piè di pagina sono comunemente usati mentre si lavora con documenti di parole. Danno una visione chiara del tema principale del documento e di qualsiasi ulteriore informazione che deve essere messa di fronte ai lettori. Microsoft Word ti consente di aggiungere informazioni sull’intestazione e sul piè di pagina con la personalizzazione. Se sei uno sviluppatore di applicazioni .NET interessato allo sviluppo (o ha sviluppato) un’applicazione per l’elaborazione dei documenti Word, aggiungendo la funzionalità dell’inserimento di intestazioni e piè di pagina ai documenti di parole dall’applicazione può essere una caratteristica benefica. In questo articolo, passeremo i passaggi per aggiungere l’intestazione e il piè di pagina a un documento Word da un’applicazione .NET. Utilizzeremo API NPOI per .NET in C# a questo scopo.

Come inserire l’intestazione e il piè di pagina sul documento Word usando Microsoft Word?

Prima di poter iniziare a esaminare come aggiungere informazioni di intestazione e piè di pagina a un documento Word da un’applicazione .NET, diamo prima un’occhiata a come possiamo fare lo stesso usando Microsoft Word.

passaggi per inserire l’intestazione e il piè di pagina nel documento usando Microsoft Word

È possibile utilizzare i seguenti passaggi per inserire l’intestazione e il piè di pagina in un documento DOCX utilizzando Microsoft Word.

  1. Selezionare Inserisci > Intestazione o Footer .
  2. Selezionare uno dei disegni integrati.
  3. Digita il testo che desideri nell’intestazione o nel piè di pagina.
  4. Seleziona Chiudi intestazione e piè di pagina quando hai finito.

come inserire l’intestazione e il piè di pagina usando npoi in c#

Ora che abbiamo visto come inserire l’intestazione e il piè di pagina in un documento Word usando Microsoft Word, diamo un’occhiata a come fare lo stesso usando API NPOI per .NET nella nostra applicazione C#. Nel caso in cui non abbia molta idea di NPOI, puoi passare attraverso la nostra guida completa per NPOI e le sue linee guida di installazione.

passaggi per inserire l’intestazione e il piè di pagina nel documento Word usando C#

In questa fase, ci aspettiamo di aver creato una semplice applicazione C# console e di aver aggiunto API NPOI. Utilizzare i seguenti passaggi per aggiungere un’intestazione e un piè di pagina nel documento Word usando NPOI API in C#.

  1. Creare un’istanza di xwpfdocument classe
  2. Aggiungi istanze di xwpfparagraph e xwpfrun per creare un paragrafo con il testo richiesto
  3. Creare un’intestazione usando CT_HDR e impostare le sue proprietà e il testo come mostrato nel codice
  4. Crea un piè di pagina usando ct_ftr e imposta le sue proprietà e il testo come mostrato nel codice
  5. Creare relazioni uniche dell’intestazione e del piè di pagina usando xwpfrelation
  6. Salva il file in disco utilizzando l’oggetto 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);
}

conclusione

In questo articolo, abbiamo visto come aggiungere un’intestazione e un piè di pagina a un documento Word usando NPOI API in C#. Aggiungeremo più esempi come questi ai nostri futuri articoli per lavorare con NPOI API in C# per l’elaborazione dei documenti. Quindi rimanete sintonizzati.