本文将通过Java示例介绍如何设置Word页边距(包括上、下、左、右)、页面大小(可设置Letter/A3/A4/A5/A6/B4/B5/B6/Envelop DL/Half Letter/Letter 11×17等常见纸张大小)、页面方向(Landscape/Portrait)、页面边框(包括页面边框、段落边框)。

 

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

注:可通过官网下载jar包,解压,并将lib文件夹下的jar文件导入java程序;或者通过maven仓库下载并导入。

 

 

Java 代码示例

【示例1】设置页边距、页面大小、页面方向

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.PageOrientation;
  3. import com.spire.doc.documents.PageSize;
  4. public class PageMargins {
  5. public static void main(String[] args) {
  6. //加载文档
  7. Document doc = new Document();
  8. doc.loadFromFile("test.docx");
  9. //获取section
  10. Section section = doc.getSections().get(0);
  11. //设置页边距
  12. section.getPageSetup().getMargins().setTop(30);
  13. section.getPageSetup().getMargins().setBottom(30);
  14. section.getPageSetup().getMargins().setLeft(50);
  15. section.getPageSetup().getMargins().setRight(50);
  16. //设置页面方向为横向
  17. section.getPageSetup().setOrientation(PageOrientation.Landscape);
  18. //设置纸张大小
  19. section.getPageSetup().setPageSize(PageSize.Letter);
  20. //保存文档
  21. doc.saveToFile("PageSetting.docx",FileFormat.Docx_2013);
  22. doc.dispose();
  23. }
  24. }

页面设置结果:

 

这里对整个页面设置边框是,可分两种情况,一种是边框靠近页面边缘,另一种是边框靠近正文内容。

       1.1 边框靠近页面边缘

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.BorderStyle;
  3. import java.awt.*;
  4. public class PageBorder {
  5. public static void main(String[] args){
  6. //加载测试文档
  7. Document doc= new Document("test.docx");
  8. //设置边框样式
  9. Section sec = doc.getSections().get(0);
  10. sec.getPageSetup().getBorders().setBorderType(BorderStyle.Single);
  11. //设置边框在页面中的位置(靠近页面边缘)
  12. sec.getPageSetup().setPageBorderOffsetFrom(PageBorderOffsetFrom.Page_Edge);
  13. //设置边框线条宽度、颜色、距离等
  14. sec.getPageSetup().getBorders().setLineWidth(2f);
  15. sec.getPageSetup().getBorders().getLeft().setSpace(20f);
  16. sec.getPageSetup().getBorders().getLeft().setColor(Color.blue);
  17. sec.getPageSetup().getBorders().getRight().setSpace(20f);
  18. sec.getPageSetup().getBorders().getRight().setColor(Color.blue);
  19. sec.getPageSetup().getBorders().getTop().setSpace(10f);
  20. sec.getPageSetup().getBorders().getTop().setColor(Color.red);
  21. sec.getPageSetup().getBorders().getBottom().setSpace(10);
  22. sec.getPageSetup().getBorders().getBottom().setColor(Color.red);
  23. //保存文档
  24. doc.saveToFile("PageBorder.docx",FileFormat.Docx_2010);
  25. }
  26. }

 页面边框效果:

 

   1.2 边框靠近正文内容

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.BorderStyle;
  3. import java.awt.*;
  4. public class PageBorder {
  5. public static void main(String[] args){
  6. //加载测试文档
  7. Document doc= new Document("test.docx");
  8. //设置边框样式
  9. Section sec = doc.getSections().get(0);
  10. sec.getPageSetup().getBorders().setBorderType(BorderStyle.Single);
  11. //设置边框在页面中的位置(靠近正文位置)
  12. sec.getPageSetup().setPageBorderOffsetFrom(PageBorderOffsetFrom.Text);//边框靠近正文内容
  13. //设置边框紧挨正文内容时,可设置边框是否包含进页眉或页脚
  14. sec.getPageSetup().setPageBorderIncludeHeader(false);
  15. sec.getPageSetup().setPageBorderIncludeFooter(false);
  16. //设置边框线条宽度、颜色、距离等
  17. sec.getPageSetup().getBorders().setLineWidth(2f);
  18. sec.getPageSetup().getBorders().getLeft().setColor(Color.orange);
  19. sec.getPageSetup().getBorders().getRight().setColor(Color.orange);
  20. sec.getPageSetup().getBorders().getTop().setColor(Color.green);
  21. sec.getPageSetup().getBorders().getBottom().setColor(Color.green);
  22. //保存文档
  23. doc.saveToFile("PageBorder2.docx",FileFormat.Docx_2010);
  24. }
  25. }

 

页面边框效果:

 

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.BorderStyle;
  3. import com.spire.doc.documents.Paragraph;
  4. import java.awt.*;
  5. public class ParaBorder {
  6. public static void main(String[] args) {
  7. //加载文档
  8. Document doc = new Document();
  9. doc.loadFromFile("test.docx");
  10. //获取段落
  11. Paragraph para = doc.getSections().get(0).getParagraphs().get(2);
  12. //设置段落边框类型,边框颜色、线条宽度
  13. para.getFormat().getBorders().setBorderType(BorderStyle.Double);
  14. para.getFormat().getBorders().setColor(new Color(186,85,211));
  15. para.getFormat().getBorders().setLineWidth(2);
  16. //保存文档
  17. doc.saveToFile("ParaBorder.docx",FileFormat.Docx_2013);
  18. doc.dispose();
  19. }
  20. }

  段落边框效果:

 

(本文完)

 

版权声明:本文为Yesi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Yesi/p/12204613.html