本文將通過Java示例介紹如何設置Word頁邊距(包括上、下、左、右)、
頁面大小(可設置Letter/A3/A4/A5/A6/B4/B5/B6/Envelop DL/Half Letter/Letter 11x17等常見紙張大小)、頁面方向(Landscape/Portrait)、頁面邊框(包括頁面邊框、段落邊框)。
使用工具:Free Spire.Doc for Java (免費版)
注:可通過官網下載jar包,解壓,並將lib文件夾下的jar文件導入java程序;或者通過maven倉庫下載並導入。
Java 代碼示例
【示例1】設置頁邊距、頁面大小、頁面方向
import com.spire.doc.*;
import com.spire.doc.documents.PageOrientation;
import com.spire.doc.documents.PageSize;
public class PageMargins {
public static void main(String[] args) {
//加載文檔
Document doc = new Document();
doc.loadFromFile("test.docx");
//獲取section
Section section = doc.getSections().get(0);
//設置頁邊距
section.getPageSetup().getMargins().setTop(30);
section.getPageSetup().getMargins().setBottom(30);
section.getPageSetup().getMargins().setLeft(50);
section.getPageSetup().getMargins().setRight(50);
//設置頁面方向爲橫向
section.getPageSetup().setOrientation(PageOrientation.Landscape);
//設置紙張大小
section.getPageSetup().setPageSize(PageSize.Letter);
//保存文檔
doc.saveToFile("PageSetting.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
頁面設置結果:
【示例2】頁面邊框
1. 設置整個頁面邊框
這裏對整個頁面設置邊框是,可分兩種情況,一種是邊框靠近頁面邊緣,另一種是邊框靠近正文內容。
1.1 邊框靠近頁面邊緣
import com.spire.doc.*;
import com.spire.doc.documents.BorderStyle;
import java.awt.*;
public class PageBorder {
public static void main(String[] args){
//加載測試文檔
Document doc= new Document("test.docx");
//設置邊框樣式
Section sec = doc.getSections().get(0);
sec.getPageSetup().getBorders().setBorderType(BorderStyle.Single);
//設置邊框在頁面中的位置(靠近頁面邊緣)
sec.getPageSetup().setPageBorderOffsetFrom(PageBorderOffsetFrom.Page_Edge);
//設置邊框線條寬度、顏色、距離等
sec.getPageSetup().getBorders().setLineWidth(2f);
sec.getPageSetup().getBorders().getLeft().setSpace(20f);
sec.getPageSetup().getBorders().getLeft().setColor(Color.blue);
sec.getPageSetup().getBorders().getRight().setSpace(20f);
sec.getPageSetup().getBorders().getRight().setColor(Color.blue);
sec.getPageSetup().getBorders().getTop().setSpace(10f);
sec.getPageSetup().getBorders().getTop().setColor(Color.red);
sec.getPageSetup().getBorders().getBottom().setSpace(10);
sec.getPageSetup().getBorders().getBottom().setColor(Color.red);
//保存文檔
doc.saveToFile("PageBorder.docx",FileFormat.Docx_2010);
}
}
頁面邊框效果:
1.2 邊框靠近正文內容
import com.spire.doc.*;
import com.spire.doc.documents.BorderStyle;
import java.awt.*;
public class PageBorder {
public static void main(String[] args){
//加載測試文檔
Document doc= new Document("test.docx");
//設置邊框樣式
Section sec = doc.getSections().get(0);
sec.getPageSetup().getBorders().setBorderType(BorderStyle.Single);
//設置邊框在頁面中的位置(靠近正文位置)
sec.getPageSetup().setPageBorderOffsetFrom(PageBorderOffsetFrom.Text);//邊框靠近正文內容
//設置邊框緊挨正文內容時,可設置邊框是否包含進頁眉或頁腳
sec.getPageSetup().setPageBorderIncludeHeader(false);
sec.getPageSetup().setPageBorderIncludeFooter(false);
//設置邊框線條寬度、顏色、距離等
sec.getPageSetup().getBorders().setLineWidth(2f);
sec.getPageSetup().getBorders().getLeft().setColor(Color.orange);
sec.getPageSetup().getBorders().getRight().setColor(Color.orange);
sec.getPageSetup().getBorders().getTop().setColor(Color.green);
sec.getPageSetup().getBorders().getBottom().setColor(Color.green);
//保存文檔
doc.saveToFile("PageBorder2.docx",FileFormat.Docx_2010);
}
}
頁面邊框效果:
2. 設置段落邊框
import com.spire.doc.*;
import com.spire.doc.documents.BorderStyle;
import com.spire.doc.documents.Paragraph;
import java.awt.*;
public class ParaBorder {
public static void main(String[] args) {
//加載文檔
Document doc = new Document();
doc.loadFromFile("test.docx");
//獲取段落
Paragraph para = doc.getSections().get(0).getParagraphs().get(2);
//設置段落邊框類型,邊框顏色、線條寬度
para.getFormat().getBorders().setBorderType(BorderStyle.Double);
para.getFormat().getBorders().setColor(new Color(186,85,211));
para.getFormat().getBorders().setLineWidth(2);
//保存文檔
doc.saveToFile("ParaBorder.docx",FileFormat.Docx_2013);
doc.dispose();
}
}
段落邊框效果:
(本文完)