我想使用apache poi为docx文档创建标题,但遇到了困难。我没有可显示的工作代码。我想请一些代码作为起点。
有一个Apache
POI单元测试
可以涵盖您的实际情况-
您正在寻找TestXWPFHeader#testSetHeader()。它涵盖了从没有设置页眉或页脚的文档开始,然后添加它们
您的代码基本上是这样的:
XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
if (policy.getDefaultHeader() == null && policy.getFirstPageHeader() == null
&& policy.getDefaultFooter() == null) {
// Need to create some new headers
// The easy way, gives a single empty paragraph
XWPFHeader headerD = policy.createHeader(policy.DEFAULT);
headerD.getParagraphs(0).createRun().setText("Hello Header World!");
// Or the full control way
CTP ctP1 = CTP.Factory.newInstance();
CTR ctR1 = ctP1.addNewR();
CTText t = ctR1.addNewT();
t.setStringValue("Paragraph in header");
XWPFParagraph p1 = new XWPFParagraph(ctP1, sampleDoc);
XWPFParagraph[] pars = new XWPFParagraph[1];
pars[0] = p1;
policy.createHeader(policy.FIRST, pars);
} else {
// Already has a header, change it
}
有关创建页眉和页脚的更多信息,请参见XWPFHeaderFooterPolicy
JavaDocs
。
它不是最好的,因此理想情况下它可以使用某种形式的灵魂提交补丁以使其更美观(提示……!),但是它可以如单元测试所示
有人知道如何改变页面大小(从字母到A4)为(docx)吗? 我找不到任何像XSSFDocument(xlsx)中那样的打印设置。 谢谢你的帮助。
我无法使用ApachePOI删除docx文件中的所有注释。有没有其他方法可以使用docx4j api删除注释?
我正在尝试创建一个包含多列的word文档。这样做(而不是使用表)的原因是,数据将跨越多个页面,在添加到新页面之前,我只能用列填充整个页面。 可以用ApachePOI实现吗?谢谢
我使用eclipse和ant构建系统。在我的项目根中,我有一个project.Properties文件,其中包含Proguard.config设置。此设置在sdk示例中表示为 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
我说的“许可区域”是什么意思?您可以通过将整个文档设置为只读来保护它,但可以保留可以编辑的区域。 我试图在一些文档。据我所知,POI库中没有API可以实现这一点——我唯一发现的是类中与permisson相关的方法,但我不知道如何使用它。我的目标是在权限区域中包含一个或多个,以生成如下内容: 我该怎么做?
现在我有一个docx文件,我加载到 我可以看到存储在style中的不同样式的当前字体大小。通过做xml 我想用poi更新字体大小,所以我试了一下 但是,在完成上述代码后,如果我使用第一段代码检查文档的字体大小(object),字体大小仍然是原始值,而不是我想要设置的12。 对于如何解决这个问题,有什么建议吗?