xdmp:word-convert() with DOCX in MarkLogic



>我正在尝试使用 xdmp:word-convert(( 函数转换我的二进制文档(DOCX 文件(,它给我抛出了以下错误。

您尝试转换的文件格式不正确。 DHF-INVFILE: xdmp:word-convert(fn:doc("/content/aplc/binary/13599668870066633077.docx"(, "13599668870066633077.docx",true...( -- 您尝试转换的文件格式不正确。input=/var/opt/MarkLogic/Temp/0b71d7278e82c553/toconv.doc

我的代码如下

xdmp:word-convert(
$xml-input,
fn:concat(xdmp:hash64("Sample.docx"),".docx"),
<options xmlns="xdmp:word-convert" xmlns:tidy="xdmp:tidy">
<tidy>true</tidy>
<tidy:clean>yes</tidy:clean>
<tidy:drop-empty-paras>yes</tidy:drop-empty-paras>
<tidy:drop-font-tags>yes</tidy:drop-font-tags>
<tidy:hide-comments>yes</tidy:hide-comments>
<tidy:output-html>no</tidy:output-html>
<tidy:output-xhtml>no</tidy:output-xhtml>
<tidy:output-xml>yes</tidy:output-xml>
<compact>true</compact>
</options>)

相同的代码在.doc扩展中工作得很好

如果 xdmp:word-convert(( 不能与 DOCX 文件一起使用,那么除了 xdmp:document-filter 之外,还有什么其他可能的 API 函数可以执行类似的工作。

xdmp:word-convert上的文档说:

不转换Microsoft Office 2007 及更高版本的文档。

对于最新的 Office 文档,您可以考虑将 CPF 与 Office OpenXML 提取管道一起使用,如下所示:https://stackoverflow.com/a/11248525/918496

哼!

最新更新