簡體   English   中英

如何將自定義XML存儲部分添加到Word doc-最好使用docx4j

[英]How to add custom XML storage part to Word doc - preferrably with docx4j

我正在嘗試使用docx4j(版本3.2.1)用XML數據填充Word內容控件。 我正在對此進行評估,以便將其用於發票生成。 我們要生成的文檔不是很復雜,因此對我來說這似乎是一種不錯的方法。

我已經通過Word 2010開發工具創建了內容控件。 這是我嘗試將XML注入docx的方法(從本示例中獲取 ):

WordprocessingMLPackage wordMLPackage = Docx4J.load(new File(input_DOCX));

FileInputStream xmlStream = new FileInputStream(new File(input_XML));

Docx4J.bind(wordMLPackage, xmlStream, Docx4J.FLAG_BIND_INSERT_XML & Docx4J.FLAG_BIND_BIND_XML);

我得到以下異常:

org.docx4j.openpackaging.exceptions.Docx4JException: Couldn't find CustomXmlDataStoragePart! exiting..
    at org.docx4j.Docx4J.bind(Docx4J.java:300)
    at org.docx4j.Docx4J.bind(Docx4J.java:271)

如果尚不存在docx4j,如何添加CustomXmlDataStoragePart? 還是應該/可以直接在Word中執行此操作?

注意:我決定直接在Word中准備模板,因為稍后這些模板必須由非技術用戶編輯,如果可能的話,我不想給它們增加額外的工具。

您說您“通過Word 2010開發工具創建了內容控件”。 除非您是指內容控制工具包,否則您需要使用或更好的OpenDoPE Word插件。 不是都。

這些工具將自定義xml部件添加到docx中,並允許您通過XPath數據綁定將其與內容控件相關聯。

然后,在運行時調用Docx4J.bind時,docx4j會找到該現有的自定義xml部分,並將其替換為您提供的包含運行時數據的xml文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM