Рубрики
Без рубрики

Добавление верхних и нижних колонтитулов в документ Word на Java

В этой статье рассказывается о том, как добавлять верхние и нижние колонтитулы в документ Word на Java. С тегами java, документ word, верхний и нижний колонтитулы.

Верхние и нижние колонтитулы очень полезны для добавления относительной информации, такой как номера страниц, название компании и логотип, в документы Word. В этой статье мы расскажем, как добавить верхние и нижние колонтитулы в документ Word на Java с помощью FreeSpire. Документ для Java API .

В следующих примерах мы увидим, как добавлять различные типы верхних и нижних колонтитулов в документ Word с помощью freeSpire. Документ для Java:

• Добавить простой верхний и нижний колонтитулы • Добавьте другой верхний и нижний колонтитулы первой страницы • Добавьте разные верхние и нижние колонтитулы для четных и нечетных страниц

1. Добавьте простой верхний и нижний колонтитулы

Чтобы добавить верхний и нижний колонтитулы в раздел документа, сначала нам нужно использовать метод getHeadersFooters, чтобы получить коллекцию всех верхних и нижних колонтитулов в разделе, а затем использовать метод getHeader или getFooter для возврата простого объекта верхнего или нижнего колонтитула, затем мы можем добавить текст, изображение или таблицу в раздел. верхний или нижний колонтитул.

private static void addHeaderFooter(Section section){
    //Add header
    HeadersFooters headersFooters = section.getHeadersFooters();
    HeaderFooter header = headersFooters.getHeader();
    Paragraph headerParagraph = header.addParagraph();
    TextRange hText = headerParagraph.appendText("Page Header");
    //Set header text format
    hText.getCharacterFormat().setFontName("Calibri");
    hText.getCharacterFormat().setFontSize(15f);
    hText.getCharacterFormat().setTextColor(Color.blue);
    //Set header paragraph format
    headerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    //border
    headerParagraph.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Thick_Thin_Small_Gap);
    headerParagraph.getFormat().getBorders().getBottom().setSpace(0.05f);
    headerParagraph.getFormat().getBorders().getBottom().setColor(Color.darkGray);

    //Add footer
    com.spire.doc.HeaderFooter footer = section.getHeadersFooters().getFooter();
    Paragraph footerParagraph = footer.addParagraph();
    //Insert page number
    footerParagraph.appendField("page number", FieldType.Field_Page);
    footerParagraph.appendText(" of ");
    footerParagraph.appendField("number of pages", FieldType.Field_Num_Pages);
    footerParagraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
    //Border
    footerParagraph.getFormat().getBorders().getTop().setBorderType(BorderStyle.Thick_Thin_Small_Gap);
    footerParagraph.getFormat().getBorders().getTop().setSpace(0.05f);
}

2. Добавьте другой верхний и нижний колонтитулы первой страницы

Добавьте другой верхний и нижний колонтитулы первой страницы

private static void addDifferentFirstPageHeaderFooter(Section section){
    //Specify different headers and footers for the first page
    section.getPageSetup().setDifferentFirstPageHeaderFooter(true);

    //First page header
    Paragraph headerParagraph1 = section.getHeadersFooters().getFirstPageHeader().addParagraph();
    headerParagraph1.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    //Header image
    DocPicture headerImage = headerParagraph1.appendPicture("C:\\Users\\Administrator\\Desktop\\PIC\\th.jpg");
    headerImage.setWidth(150f);
    headerImage.setHeight(75f);

    //First page footer
    Paragraph footerParagraph1 = section.getHeadersFooters().getFirstPageFooter().addParagraph();
    footerParagraph1.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    TextRange fText = footerParagraph1.appendText("First Page Footer");
    fText.getCharacterFormat().setFontSize(15f);

    //Header for other pages
    Paragraph headerParagraph2 = section.getHeadersFooters().getHeader().addParagraph();
    headerParagraph2.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    TextRange hText = headerParagraph2.appendText("Other Page Header");
    hText.getCharacterFormat().setFontSize(15f);

    //Footer for other pages
    Paragraph footerParagraph2 = section.getHeadersFooters().getFooter().addParagraph();
    footerParagraph2.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    fText = footerParagraph2.appendText("Other Page Footer");
    fText.getCharacterFormat().setFontSize(15f);
}

3. Добавьте разные верхние и нижние колонтитулы для четных и нечетных страниц

Мы можем использовать метод set Different OddAndEvenPagesHeaderFooter с объектом PageSetup, чтобы указать разные верхние/нижние колонтитулы для нечетных и четных страниц.

private static void addOddAndEvenPagesHeaderAndFooter(Section section){
    //Specify different headers and footers for odd and even pages
    section.getPageSetup().setDifferentOddAndEvenPagesHeaderFooter(true);

    //Odd page header
    Paragraph oddHeader = section.getHeadersFooters().getOddHeader().addParagraph();
    oddHeader.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    TextRange oHText = oddHeader.appendText("Odd Page Header");
    //Set header text format
    oHText.getCharacterFormat().setFontName("Calibri");
    oHText.getCharacterFormat().setFontSize(15f);
    oHText.getCharacterFormat().setTextColor(Color.blue);

    //Odd page footer
    Paragraph oddFooter = section.getHeadersFooters().getOddFooter().addParagraph();
    oddFooter.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    TextRange oFText = oddFooter.appendText("Odd Page Footer");
    oFText.getCharacterFormat().setFontName("Calibri");
    oFText.getCharacterFormat().setFontSize(15f);
    oFText.getCharacterFormat().setTextColor(Color.blue);

    //Even page header
    Paragraph evenHeader = section.getHeadersFooters().getEvenHeader().addParagraph();
    evenHeader.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    TextRange eHText = evenHeader.appendText("Even Page Header");
    eHText.getCharacterFormat().setFontName("Calibri");
    eHText.getCharacterFormat().setFontSize(15f);
    eHText.getCharacterFormat().setTextColor(Color.green);

    //Even page footer
    Paragraph evenFooter = section.getHeadersFooters().getEvenFooter().addParagraph();
    evenFooter.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
    TextRange eFText = evenFooter.appendText("Even Page Footer");
    eFText.getCharacterFormat().setFontName("Calibri");
    eFText.getCharacterFormat().setFontSize(15f);
    eFText.getCharacterFormat().setTextColor(Color.green);
}

Дополнительная информация

Веб-сайт: https://www.e-iceblue.com/ Форум поддержки: FreeSpire. Документ для Java

Оригинал: “https://dev.to/eiceblue/add-headers-and-footers-to-word-document-in-java-dah”