我需要一个从xhtml源创建docx文件的自动过程。 xhtml文件包含图像(<img>
元素),其“src”属性指向外部引用。但是docx文件需要在没有网络连接的情况下可读,所以我需要找到一种方法将图像直接嵌入到docx包中(即在/ media文件夹中)。
到目前为止,我已经使用altChunk方法(如Eric White所述)来创建.docx文件。我原本希望使用OpenXML SDK将图像部分插入到包中。但要做到这一点,我需要在文档中插入段落(<p>
节点)。不幸的是,文档部分只包含对altChunk的引用(单独存储在docx包中)。当然,一旦打开,编辑和保存docx,就会删除altChunk部分,并将其内容正确嵌入到document.xml中。但我不知道有任何方式以编程方式做到这一点,所以这没有帮助。
我考虑过的其他选择:
<img>
引用打包的图像文件。 (充其量可疑)
谁能想到更好的方法?答案 0 :(得分:0)
好吧,我解决了我自己的问题:我决定将文档转换为mHtml(可以包含直接嵌入文件中的图像),然后使用altchunk创建最终的docx文件。但是,我仍然希望对文件进行一些后期处理(在Word文档中插入尾注),但如上所述,在之后将altchunk转换为docx之前,这是不可能的,这不能以编程方式完成。
所以我突然意识到我可以完全绕过altchunk路径,只需使用mHtml作为从xHtml到docx的“网关”。我刚刚将xHtml转换为mHtml,包含嵌入的图像和尾注,然后使用.doc扩展名重命名该文件。生成的文档可以通过Word直接打开(并将在后续保存时更正确地转换)。到目前为止它的效果很好(尽管Mac的Word版本以及Word2003中存在一些错误)。