【问题标题】:is it possible to define xml schema for a word document to be created by POI lib?是否可以为 POI lib 创建的 word 文档定义 xml 模式?
【发布时间】:2017-08-04 10:08:11
【问题描述】:
我必须从我的应用程序中针对一个实体生成 word 文档,该实体将包含有关该实体的一些信息,为此我正在使用 POI。
但是,在使用 POI 时,我必须决定在哪里创建段落,在哪里我根据实体对象中的配置使文本变为粗体\斜体等,我可以在代码中轻松处理这些配置。
但是有什么方法可以让我在任何 XML/XSL 或任何其他类型的配置中定义所有这些样式/对齐等信息,这样我就可以摆脱我的 java 代码中的样式?
【问题讨论】:
标签:
java
xml
ms-word
apache-poi
openxml
【解决方案1】:
关于你的标题问题,请参阅Where can I find the XSDs of DOCX XML files?
关于你的身体问题,
但是有什么方法可以让我定义所有这些
任何 XML/XSL 或任何其他类型的样式/对齐方式等信息
的配置,所以我可以摆脱我的 java 代码中的样式?
是的,当然,这样做是一个明智的设计决定。由于 DOCX 是 OOXML(在 OPC 中),您的 XSLT 将能够通过 w:rPr 设置(例如 w:b、w:i 等)生成 OOXML 字符级格式。
但是,您将面临的挑战是您将放弃 POI API 提供的便利。如果要生成正确的 DOCX 文件而不仅仅是可导入的 OOXML 文件,还必须重建 OPC。对于小型项目,直接使用 OOXML 所需的学习曲线可能过于陡峭,不值得采用直接使用 OOXML 的方法。