当前位置: 首页 > 知识库问答 >
问题:

在Docx4J中创建一个新的节to.docx文件

朱修真
2023-03-14
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();

// create new paragraph with a run containing text and add it to the document.
P paragraph1 = objectFactory.createP(); // create new paragraph
R run1 = objectFactory.createR(); // create new run 
Text text1 = objectFactory.createText(); // create text

text1.setValue("This is text in paragraph 1 that should be located in section 1.");
run1.getContent().add(text1); // add text ton the run
paragraph1.getContent().add(run1); // add run to paragraph
wordMLPackage.getMainDocumentPart().addObject(paragraph1); // add to main document part

// create new section and add it to the document
SectPr sectPr = objectFactory.createSectPr(); // create new section

SectPr.Type sectPrType = objectFactory.createSectPrType();
sectPrType.setVal("continuous"); // "continuous" means no page break before section

sectPr.setType(sectPrType);

wordMLPackage.getMainDocumentPart().addObject(sectPr); // add section to document part

// proceed to create another paragraph with a run containing text.
P paragraph2= objectFactory.createP(); // create new paragraph
R run2 = objectFactory.createR(); // create new run 
Text text2 = objectFactory.createText(); // create text

text2.setValue("This is text in paragraph 2 that should be located in section 2.");
run2.getContent().add(text2); // add text ton the run
paragraph2.getContent().add(run2); // add run to paragraph
wordMLPackage.getMainDocumentPart().addObject(paragraph2); // add to main document part

wordMLPackage.save(new java.io.File("should contain_two_sections.docx")); // save

我已经通读了Docx4J文档,所以在GitHub repo中的Docx4J示例中也有类似的问题,但我没有找到任何添加所描述功能的工作示例。

共有1个答案

唐阳晖
2023-03-14

您正在将sectPr作为兄弟添加到顶级段落中;相反,它应该在w:p/w:ppr内。

为了避免类似的错误,您应该使用docx4j webapp或辅助程序addin从工作字docx生成Java代码。

另请注意,允许将sectPr作为主体中的最后一个元素,但该元素是使用setSectPr添加的

 类似资料:
  • 非常感谢!

  • 首先,打开Android Studio并选择Create new Project,然后它会让你输入一个名字,你可以任意取一个名字,比如:Weather App。然后你需要输入公司域名。如果你不会真正发布这个app,这个字段就不是特别重要了,但是如果你有的话可以使用自己的域名。然后任意选择一个目录作为这个项目的保存地址。 下一步,它会让你选择最小的API版本。我们选择API 15,因为我们有一个库需

  • 问题内容: 现在我用 但这有点棘手。是否有“标准”方法在Node.js中创建空文件? 问题答案: 如果要强制文件为空,则要改用标志: 如果文件存在,它将截断文件,如果文件不存在,则将创建文件。 如果不需要返回的文件描述符,则将其包装在调用中。

  • 问题内容: 我已经使用以下代码获取wp-option值。 现在我想使用上述值创建一个.sql文件。如何使用这些值创建.sql文件。 问题答案: 您必须生成create table并手动插入语句。这里有一篇很好的文章,其中包含用PHP编写的备份脚本。 http://davidwalsh.name/backup-mysql-database- php

  • 问题内容: 我想编写一个检查目录是否存在的程序;如果该目录不存在,那么它将在其中创建目录和一个日志文件,但是如果该目录已经存在,则它将在该文件夹中创建一个新的日志文件。 我如何在Linux中用C做到这一点? 问题答案: 看看检查,如果该目录存在, 和,创建目录。 您可以使用和命令查看这些功能的手册。

  • 我有一个多节点集群星火集群。我正在使用log4j创建日志。日志只创建集群中的所有节点。它们也是在/tmp目录中创建的,而不是在任何其他目录中创建的。这是