Java 设置Word页边距、页面大小、页面方向、页面边框
本文将通过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(); } }
段落边框效果:
(本文完)