【问题标题】:Set margins with Apache poi使用 Apache poi 设置边距
【发布时间】:2015-02-19 21:22:04
【问题描述】:

使用 Apache poi 创建一个基本的 word 文档,我需要更改页边距。 The answer to this question 看起来很完美,但我没有 CTPageMar 课程。我正在使用 3.10。任何人都有不同版本或不同方法的运气吗?

【问题讨论】:

  • 如果升级到 Apache POI 3.11 会发生什么? (最新稳定版)
  • 我已经下载(但未安装)几个旧版本和 3.11。没有一个 jar 文件似乎包含 CTPageMar 类。我的问题中的链接是一个两年前的帖子,所以我想知道这门课是否可能已被弃用
  • 你需要检查poi-ooxml-schemas jar。如果它不存在,那么follow this Apache POI FAQ entry
  • @Gagravarr 先生,您是明星。

标签: java ms-word apache-poi margins


【解决方案1】:

感谢 Gagravarr 为我指明了正确的方向。似乎我没有完整的 ooxml-schemas-1.1.jar。 这段代码现在完美地设置了边距

 CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
 CTPageMar pageMar = sectPr.addNewPgMar();
 pageMar.setLeft(BigInteger.valueOf(720L));
 pageMar.setTop(BigInteger.valueOf(360L));
 pageMar.setRight(BigInteger.valueOf(720L));
 pageMar.setBottom(BigInteger.valueOf(360L));

不确定单位是什么,但 720 对应半英寸!

【讨论】:

  • 作为FAQ mentions,要解决这个长期问题,您需要向使用该类的Apache POI 提交一个单元测试,然后它将自动包含在下一个poi-ooxml-schemas jar 中。如果您还扩展 Usermodel 代码以向边缘提供朋友界面,则可以加分!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 2022-07-25
  • 1970-01-01
相关资源
最近更新 更多