我需要一个从 xhtml 源创建 docx 文件的自动化过程。xhtml 文件包含图像(<img>
元素),其“src”属性指向外部引用。但是 docx 文件需要在没有网络连接的情况下可读,所以我需要找到一种方法将图像直接嵌入到 docx 包中(即在 /media 文件夹中)。
到目前为止,我已经使用 altChunk 方法(如Eric White所述)来创建 .docx 文件。我曾希望使用 OpenXML SDK 将图像部分插入到包中。但要做到这一点,我需要<p>
在文档中插入段落(节点)。不幸的是,文档部分只包含对 altChunk 的引用(单独存储在 docx 包中)。当然,一旦打开、编辑和保存了 docx,altChunk 部分就会被移除,并且它的内容会正确地嵌入到 document.xml 中。但我不知道有什么方法可以以编程方式做到这一点,所以这无济于事。
我考虑过的其他选择:
- 将 xhtml 划分为多个段,在每个图像之间分隔,然后一次添加每个 altChunk 一个,在每个图像之间使用适当的图像引用。(乏味但似乎可能)
- 将图像插入媒体文件夹,然后想办法将 WordProcessingML 直接嵌入到 xhtml 中,以便
<img>
引用打包的图像文件。(充其量是有问题的)有人能想到更好的方法吗?