java poi改变word某一页横向

前言

  • 文档需要某一页置位横向

解决方案

  • 直接上代码

    public static final String SUBSECTIONONE = "v";

    public static final String SUBSECTIONTWO = "landscape";

/**
     * 分段
     *
     * @param xwpfDocument
     * @param result SUBSECTIONONE / SUBSECTIONTWO 
     */
    public void subsection(XWPFDocument xwpfDocument, String result) {
        CTDocument1 doc = xwpfDocument.getDocument();
        CTBody body = doc.getBody();
        CTP ctp = body.addNewP();
        CTPPr ctpPr = ctp.addNewPPr();
        CTSectPr ctSectPr = ctpPr.addNewSectPr();
        changeOrientation(ctSectPr, result);
    }


    /**
     * @param section
     * @param orientation 字符串方向
     */
    private void changeOrientation(CTSectPr section, String orientation) {
        CTPageSz pageSize = section.isSetPgSz() ? section.getPgSz() : section.addNewPgSz();
        if (orientation.equals(SUBSECTIONTWO)) {
            pageSize.setOrient(STPageOrientation.LANDSCAPE);
            pageSize.setW(BigInteger.valueOf(842 * 20));
            pageSize.setH(BigInteger.valueOf(595 * 20));
        } else {
            pageSize.setOrient(STPageOrientation.PORTRAIT);
            pageSize.setH(BigInteger.valueOf(842 * 20));
            pageSize.setW(BigInteger.valueOf(595 * 20));
        }
    }
  • 使用subsection方法
...文档内容
wordUtil.subsection(xwpfDocument, WordUtil.SUBSECTIONONE);
...文档内容(此页为横向)
wordUtil.subsection(xwpfDocument, WordUtil.SUBSECTIONTWO);

你可能感兴趣的:(java poi改变word某一页横向)