本文将通过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仓库下载并导入。
![077a276a24cfd54cc2e9b5cb5b7f9fdc.png](https://i-blog.csdnimg.cn/blog_migrate/82447d59708d4707e3c9a05804b14471.png)
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();
}
}
页面设置结果:
![5bfc2932d87265002032b94c9964c653.png](https://i-blog.csdnimg.cn/blog_migrate/969b4663945a52ebffd11952c3d88c8b.jpeg)
【示例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);
}
}
页面边框效果:
![460cd30d5f101da0e34155e38d0b4900.png](https://i-blog.csdnimg.cn/blog_migrate/f72be12427e245089bdf8ec382b0e5a4.jpeg)
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);
}
}
页面边框效果:
![07595e93954caaa85989bb09ab6e1f88.png](https://i-blog.csdnimg.cn/blog_migrate/88c03aa4681c98ed5a698cf66b80bc37.jpeg)
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();
}
}
段落边框效果:
![890331a1d2e0ec8870ea240d614b854e.png](https://i-blog.csdnimg.cn/blog_migrate/c63ffe66251e430105fa455a6cafbff2.jpeg)
(本文完)