在Java中将页眉和页脚添加到Word文档

本文介绍了如何使用Free Spire.Doc for Java API在Word文档中添加页眉和页脚,包括添加简单页眉和页脚、不同的首页页眉和页脚以及奇数页和偶数页的独立页眉和页脚。
摘要由CSDN通过智能技术生成

Headers and footers are very useful for adding relative information such as page numbers, company name and logo to Word documents. In this article, we’ll introduce how to add headers and footers to a Word document in Java by using Free Spire.Doc for Java API.

在以下示例中,我们将看到如何使用免费的Java Spire.Doc将不同类型的页眉和页脚添加到Word文档中:

•添加简单的页眉和页脚 •添加不同的首页页眉和页脚 •为奇数页和偶数页添加不同的页眉和页脚

1. Add simple header and footer

要将页眉和页脚添加到文档部分,首先,我们需要使用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);
}

simple header and footer

2. Add different first page header and footer

我们可以将setDifferentFirstPageHeaderFooter方法与PageSetup对象一起使用,以指定第一页的页眉/页脚是否与其他页不同。

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);
}

different first page header and footer

3. Add different headers and footers for odd and even pages

我们可以将setDifferentOddAndEvenPagesHeaderFooter方法与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);
}

different headers and footers for odd and even pages

More information

Website: https://www.e-iceblue.com/

Support Forum: Free Spire.Doc for Java

from: https://dev.to//eiceblue/add-headers-and-footers-to-word-document-in-java-dah

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值