Заголовки и нижние колонтитулы обычно используются при работе с документами Word. Они дают четкое представление о основной теме документа, а также о любой дополнительной информации, которую необходимо поставить перед читателями. Microsoft Word позволяет добавлять информацию о заголовке и нижнем колонтитуле в ваш документ с настройкой. Если вы являетесь разработчиком приложений .NET, который заинтересован в разработке (или разработке) приложения для обработки документов Word, добавление функции вставки заголовков и нижних колонтитулов к документам Word из вашего приложения может быть полезной функцией. В этой статье мы рассмотрим шаги, чтобы добавить заголовок и нижний колонтитул в документ Word из приложения .NET. Мы будем использовать API NPOI для .NET в C# для этой цели.

Как вставить заголовок и нижний колонтитул в документ Word с помощью Microsoft Word?

Прежде чем мы сможем начать изучать, как добавить информацию о заголовке и нижнем колонтитуле в документ Word из приложения .NET, давайте сначала посмотрим, как мы можем сделать то же самое, используя Microsoft Word.

Шаги, чтобы вставить заголовок и нижний колонтитул в документ, используя Microsoft Word {.wp-Block heading}

Вы можете использовать следующие шаги, чтобы вставить заголовок и нижний колонтитул в документ DOCX с использованием Microsoft Word.

  1. Выберите Вставка > Заголовок или нижний колонтитул .
  2. Выберите один из встроенных проектов.
  3. Введите нужный текст в заголовке или нижнем колонтитуле.
  4. Выберите Закрыть заголовок и нижний колонтитул , когда закончите.

Как вставить заголовок и нижний колонтитул, используя NPOI в C# {.wp-block heading}

Теперь, когда мы видели, как вставить заголовок и нижний колонтитул в документ Word, используя Microsoft Word, давайте посмотрим, как сделать то же самое, используя API NPOI для .NET в нашем приложении C#. На случай, если у вас нет большого представления о NPOI, вы можете пройти через наше всеобъемлющее руководство для NPOI и его руководящих принципов его установки.

Шаги, чтобы вставить заголовок и нижний колонтитул в документ Word, используя C# {.wp-block heading}

На этом этапе мы ожидаем, что вы создали простое приложение C# консоли и добавили к нему API NPOI. Используйте следующие шаги, чтобы добавить заголовок и нижний колонтитул в документ Word, используя API NPOI в C#.

  1. Создайте экземпляр xwpfdocument class
  2. Добавьте экземпляры xwpfparagraph и xwpfrun , чтобы создать абзац с необходимым текстом
  3. Создайте заголовок, используя CT_HDR и установите его свойства и текст, как показано в коде.
  4. Создайте нижний колонтитул, используя CT_FTR и установите его свойства и текст, как показано в коде.
  5. Создайте уникальные отношения заголовка и нижнего колонтитула, используя xwpfrelation
  6. Сохраните файл для диска, используя объект 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);
}

Заключение {.wp-block heading}

В этой статье мы увидели, как добавить заголовок и нижний колонтитул в документ Word, используя API NPOI в C#. Мы добавим больше подобных примеров в наши будущие статьи для работы с API NPOI в C# для обработки документов. Так что следите за обновлениями.