Java 添加Word頁眉、頁腳

在Word文檔中,頁眉位於文檔中每一個頁面的頂部區域,而頁腳則位於文檔中每一個頁面的底部區域。它們都經常使用於顯示文檔的附加信息,例如時間、圖形、公司微標或做者姓名等。本文將經過使用Java程序來演示如何在Word文檔中添加頁眉和頁腳。主要包括:添加文本、圖片和頁碼至頁眉、頁腳;設置奇偶頁頁眉頁腳不一樣;設置首頁頁眉頁腳不一樣;鎖定頁眉頁腳。html

使用工具:Free Spire.Doc for Java(免費版)

Jar文件獲取及導入:

方法1:經過官方網站下載獲取jar包。解壓後將lib文件夾下的Spire.Doc.jar文件導入Java程序。(以下圖)
image001.jpgjava

方法2:經過maven倉庫安裝導入。具體安裝詳情參見此網頁app

【示例1】添加頁眉、頁腳(文本、圖片、頁碼)

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextRange;
import java.awt.*;

public class AddHeaderAndFooter {
    public static void main(String[] args) {

        //加載須要添加頁眉頁腳的文檔
        Document doc= new Document("D:\\Desktop\\Sample.docx");
        Section sec = doc.getSections().get(0);

        //調用方法添加頁眉頁腳
        AddHeaderFooter(sec);

        //保存文檔
        doc.saveToFile("output/AddHeaderFooter.docx");    }

        //自定義方法來添加圖片、文字頁眉及頁碼
        private static void AddHeaderFooter(Section sec){

        //加載圖片添加到頁眉,並設置圖片在段落中的對齊方式
        HeaderFooter header = sec.getHeadersFooters().getHeader();
        Paragraph hpara= header.addParagraph();
        DocPicture pic =hpara.appendPicture("D:\\Desktop\\Image.png");
        pic.setHorizontalAlignment(ShapeHorizontalAlignment.Left);
        pic.setVerticalOrigin(VerticalOrigin.Top_Margin_Area);
        pic.setVerticalAlignment(ShapeVerticalAlignment.Center);

        //添加文字到頁眉,並設置字體、字號、字體加粗、對齊方式
        TextRange txt = hpara.appendText("中青在線");
        txt.getCharacterFormat().setUnderlineStyle(UnderlineStyle.None);
        txt.getCharacterFormat().setTextColor(Color.GRAY);
        txt.getCharacterFormat().setFontName("仿宋");
        txt.getCharacterFormat().setFontSize(12f);
        txt.getCharacterFormat().setBold(true);
        hpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);

        //設置圖片的文本環繞方式、頁眉底部邊線(粗細、間距)
        pic.setTextWrappingStyle(TextWrappingStyle.Behind);
        hpara.getFormat().getBorders().getBottom().setBorderType(BorderStyle.Single);
        hpara.getFormat().getBorders().getBottom().setLineWidth(0.5f);
        hpara.getFormat().getBorders().setSpace(2f);

        //添加頁碼到頁腳,並設置頁腳對齊方式,頂部邊線粗細、間距
        HeaderFooter footer = sec.getHeadersFooters().getFooter();
        Paragraph fpara= footer.addParagraph();
        fpara.appendField("頁碼",FieldType.Field_Page);
        fpara.appendText("/");
        fpara.appendField("總頁數",FieldType.Field_Num_Pages);
        fpara.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
        fpara.getFormat().getBorders().getTop().setBorderType(BorderStyle.Single);
        fpara.getFormat().getBorders().getTop().setLineWidth(1f);
        fpara.getFormat().getBorders().getTop().setSpace(2f);

    }
}

頁眉、頁腳添加效果:maven

image002.jpg

【示例2】設置奇偶頁頁眉頁腳不一樣

import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.TextRange;
import java.awt.*;

public class HeaderFooterForOddAndEvenPages {
    public static void main(String[] args) {
        
        //加載測試文檔
        Document doc = new Document("D:\\Desktop\\Sample.docx");
        Section sec = doc.getSections().get(0);
        
        //設置奇偶頁頁眉頁腳不一樣
        sec.getPageSetup().setDifferentOddAndEvenPagesHeaderFooter(true);
        
        //設置奇數頁頁眉頁腳
        HeaderFooter oddheader = sec.getHeadersFooters().getOddHeader();
        Paragraph para1 = oddheader.addParagraph();
        TextRange textRange1 = para1.appendText("奇數頁頁眉");
        para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
        textRange1.getCharacterFormat().setTextColor(Color.ORANGE);
        textRange1.getCharacterFormat().setBold(true);
        HeaderFooter oddfooter = sec.getHeadersFooters().getFooter();
        Paragraph para2 = oddfooter.addParagraph();
        TextRange textRange2 = para2.appendText("奇數頁頁腳");
        para2.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
        textRange2.getCharacterFormat().setTextColor(Color.ORANGE);
        textRange2.getCharacterFormat().setBold(true);
        
        //設置偶數頁頁眉頁腳
        HeaderFooter evenheader = sec.getHeadersFooters().getEvenHeader();
        Paragraph para3 = evenheader.addParagraph();
        TextRange textRange3 = para3.appendText("偶數頁頁眉");
        para3.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
        textRange3.getCharacterFormat().setTextColor(Color.BLUE);
        textRange3.getCharacterFormat().setBold(true);
        HeaderFooter evenfooter = sec.getHeadersFooters().getEvenFooter();
        Paragraph para4 = evenfooter.addParagraph();
        TextRange textRange4 = para4.appendText("偶數頁頁腳");
        para4.getFormat().setHorizontalAlignment(HorizontalAlignment.Right);
        textRange4.getCharacterFormat().setTextColor(Color.BLUE);
        textRange4.getCharacterFormat().setBold(true);
        
        //保存文檔
        doc.saveToFile("output/result.docx",FileFormat.Docx_2010);
    }
}

奇偶頁頁眉頁腳設置效果:工具

image003.jpg

【示例3】設置首頁頁眉頁腳不一樣

import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.TextRange;
import java.awt.*;

public class HeaderFooterDifferentFromFirstPage {
    public static void main(String[] args) {

        //加載測試文的
        Document doc = new Document("D:\\Desktop\\Sample.docx");
        Section sec = doc.getSections().get(0);
        
        //設置首頁頁眉頁腳不一樣
        sec.getPageSetup().setDifferentFirstPageHeaderFooter(true);
        
        //添加首頁頁眉頁腳
        HeaderFooter firstpageheader = sec.getHeadersFooters().getFirstPageHeader();
        Paragraph para1 = firstpageheader.addParagraph();
        TextRange textRange1 = para1.appendText("首頁頁眉");
        para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        textRange1.getCharacterFormat().setBold(true);
        textRange1.getCharacterFormat().setTextColor(Color.GREEN);
        HeaderFooter firstpagefooter = sec.getHeadersFooters().getFirstPageFooter();
        Paragraph para2 = firstpagefooter.addParagraph();
        TextRange textRange2 = para2.appendText("首頁頁腳");
        para2.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        textRange2.getCharacterFormat().setBold(true);
        textRange2.getCharacterFormat().setTextColor(Color.GREEN);
        
        //添加頁眉頁腳到其餘頁面
        Paragraph para3 = sec.getHeadersFooters().getHeader().addParagraph();
        para3.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        TextRange textRange3 = para3.appendText("非首頁頁眉");
        textRange3.getCharacterFormat().setBold(true);
        Paragraph para4 = sec.getHeadersFooters().getFooter().addParagraph();
        para4.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        TextRange textRange4 = para4.appendText("非首頁頁腳");
        textRange4.getCharacterFormat().setBold(true);
        
        //保存文檔
        doc.saveToFile("output/result2.docx",FileFormat.Docx_2010);

    }
}

頁眉頁腳設置效果:測試

image004.jpg

【示例4】鎖定頁眉頁腳

import com.spire.doc.*;
public class LockHeaderFooter {
    public static void main(String[] args) {

        //加載測試文檔
        Document doc = new Document("D:\\Desktop\\result2.docx");

        //獲取第一節
        Section sec = doc.getSections().get(0);

        // 設置保護類型及密碼
        doc.protect(ProtectionType.Allow_Only_Form_Fields,"123");
        sec.setProtectForm(false);

        //保存文檔
        doc.saveToFile("output/LockHeaderFooter.docx",FileFormat.Docx_2010);
    }
}

鎖定頁眉頁腳後,文檔除頁眉頁腳外其餘內容依舊可進行編輯。字體

(本文完)網站

相關文章
相關標籤/搜索