- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在构建一个小型 Java 程序来测试我需要用 docx4j 覆盖的所有“文档相关”功能以满足我的项目要求。摘要:能够创建带有“内容控件”的模板,这些模板将作为“原始模板”提供给用户。让用户增强它们,最终用数据填充它们。由于“重复和条件”功能,我正在处理“docx4j”。
这是我的进步,以编程方式:
1) 创建一个空白文档(完成)
2) 添加带有 xml 数据的自定义 xml 部分(发票示例中的 part3.xml)。 (完成)
3) 添加带有 xml xpaths 引用的自定义 xml 部分(发票示例中的 part4.xml)。 (完成)
4) 添加内容控件(PENDING)
它必须类似于发票示例中的摘录:
<w:sdt>
<w:sdtPr>
<w:alias w:val="Customer name" />
<w:tag w:val="od:xpath=x1&customer name=customer name" />
<w:id w:val="1418037941" />
<w:placeholder>
<w:docPart w:val="DefaultPlaceholder_22675703" />
</w:placeholder>
<w:dataBinding w:xpath="/invoice[1]/customer[1]/name[1]" w:storeItemID="{8B049945-9DFE-4726-9DE9-CF5691E53858}" />
<w:text />
</w:sdtPr>
<w:sdtContent>
<w:p>
<w:r>
<w:t>Joe Bloggs</w:t>
</w:r>
</w:p>
</w:sdtContent>
</w:sdt>
这是我的问题:如何生成这个 xml?可以通过 Java 代码完成还是只能从 Word 完成? “1418037941”和“DefaultPlaceholder_22675703”值是什么以及如何生成?我想我不能“发明”它们,并且在其他地方被引用。我在 MainDocumentPart 类中寻找一些方法来这样做,但找不到它。我是不是误会了什么?
其他步骤对我来说几乎没问题:
5) 执行“预处理”(完成)
6) 执行“处理”(完成)
7) 执行“剥离”(完成,除了移除 repat 标签)
非常感谢您的帮助!大卫
最佳答案
您当然可以使用 docx4j 以编程方式创建内容控件。也就是说,创建"template"的常用方法是使用创作工具,例如 this one .
回答您的具体问题:-
您可以省略 w:placeholder。
规范说 w:id 是 xsd:int 类型,是介于-2147483648 和 2147483647。你可以随机生成它,或者你 may be able也将其省略。
关于java - Docx4j 添加 w :sdt content control programmatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12903781/
我正在使用 python 并编写了一个应用程序,该应用程序生成大量文本并将其打印到标准输出。(我在控制台(bash)中运行该应用程序,并且不想使用 GUI 或外部工具) 这个过程花费了很多时间,我可以
我正在使用 OpenXML SDK 以编程方式替换一些 带有 OpenXML (WordProcessingML) 标记 block 的元素。 例如,我有一个包含这些内容的段落: Text b
我正在尝试查找 Word 文档中的所有 SdtElement。我使用了以下代码: using (var wordDoc = WordprocessingDocument.Open(FilePath,
我们什么时候应该使用 而不是 ?我看到了一些 的用例示例,他们将 用于 SDT 设备。 是否仅用于 SDT 设备? 想象一下,我们创建了一个 ,它被设计用来保存温度传感器的值。设备的实际值存储在 中
我正在构建一个小型 Java 程序来测试我需要用 docx4j 覆盖的所有“文档相关”功能以满足我的项目要求。摘要:能够创建带有“内容控件”的模板,这些模板将作为“原始模板”提供给用户。让用户增强它们
我是一名优秀的程序员,十分优秀!