Nagłówki i stopki są powszechnie używane podczas pracy z dokumentami Word. Dają wyraźny widok głównego motywu dokumentu, a także wszelkich dodatkowych informacji, które należy umieścić przed czytelnikami. Microsoft Word pozwala dodawać informacje nagłówka i stopki do dokumentu za pomocą dostosowywania. Jeśli jesteś programistą aplikacji .NET, który jest zainteresowany opracowaniem (lub opracowanym) aplikacją do przetwarzania dokumentów tekstowych, dodanie funkcji wkładania nagłówków i stopek do dokumentów Word z aplikacji może być korzystną cechą. W tym artykule przejdziemy do kroków, aby dodać nagłówek i stopkę do dokumentu Word z aplikacji .NET. Będziemy używać API NPOI dla .NET w C# do tego celu.

Jak wstawić nagłówek i stopkę do dokumentu Word za pomocą Microsoft Word?

Zanim zaczniemy przyjrzeć się, jak dodać informacje nagłówka i stopki do dokumentu Word z aplikacji .NET, najpierw przyjrzyjmy się, jak możemy zrobić to samo za pomocą Microsoft Word.

Kroki do wstawienia nagłówka i stopki w dokumencie za pomocą Microsoft Word

Możesz użyć następujących kroków, aby wstawić nagłówek i stopkę w dokumencie DOCX za pomocą Microsoft Word.

  1. Wybierz Wstaw > Nagłówek lub stopka .
  2. Wybierz jeden z wbudowanych wzorów.
  3. Wpisz żądany tekst w nagłówku lub stopce.
  4. Wybierz Zamknij nagłówek i stopkę Po zakończeniu.

Jak wstawić nagłówek i stopkę za pomocą NPOI w C#

Teraz, gdy widzieliśmy, jak wstawić nagłówek i stopkę do dokumentu Word za pomocą Microsoft Word, spójrzmy, jak zrobić to samo za pomocą interfejsu API NPOI dla .NET w naszej aplikacji C#. Na wypadek, gdybyś nie miał dużego pojęcia o NPOI, możesz przejść przez nasz kompleksowy przewodnik dla NPOI i wytycznych instalacji.

kroki do wstawienia nagłówka i stopki w dokumencie Word za pomocą C#

Na tym etapie spodziewamy się, że stworzyłeś prostą aplikację C# Console i dodałeś do niej API NPOI. Użyj następujących kroków, aby dodać nagłówek i stopkę w dokumencie Word za pomocą API NPOI w C#.

  1. Utwórz instancję xwpfdocument
  2. Dodaj instancje xwpfparagraf i xwpfrun , aby utworzyć akapit za pomocą wymaganego tekstu
  3. Utwórz nagłówek za pomocą ct_hdr i ustaw jego właściwości i tekst, jak pokazano w kodzie
  4. Utwórz stopkę za pomocą ct_ftr i ustaw jego właściwości i tekst, jak pokazano w kodzie
  5. Utwórz unikalne relacje nagłówka i stopki za pomocą xwpfrelation
  6. Zapisz plik na płycie za pomocą obiektu 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);
}

Wniosek

W tym artykule widzieliśmy, jak dodać nagłówek i stopkę do dokumentu Word za pomocą API NPOI w C#. Dodamy więcej takich przykładów do naszych przyszłych artykułów Praca z API NPOI w C# w celu przetwarzania dokumentów. Bądźcie na bieżąco.