zoukankan      html  css  js  c++  java
  • 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();
        }
    }

      段落边框效果:

    (本文完)

  • 相关阅读:
    Delphi 连接 Paradox
    编译MangosZero
    关于StartCoroutine的简单线程使用
    cocos2dc-x解决中文乱码
    C++类构造函数初始化列表
    dynamic_cast
    cocos2d-x for android:SimpleGame分析
    C++宏定义详解
    四 AndEngine 画线
    三 最简单的 AndEngine 程序框架
  • 原文地址:https://www.cnblogs.com/Yesi/p/12204613.html
Copyright © 2011-2022 走看看