xquery - xdmp:word-convert() 与 MarkLogic 中的 DOCX
问题描述
我正在尝试使用 xdmp:word-convert() 函数转换我的二进制文档(DOCX 文件),它向我抛出了以下错误。
您尝试转换的文件格式不正确。DHF-INVFILE: xdmp:word-convert(fn:doc("/content/aplc/binary/13599668870066633077.docx"), "13599668870066633077.docx", <options xmlns:tidy="xdmp:tidy" xmlns="xdmp: word-convert"><tidy>true</tidy>...</options>) -- 您尝试转换的文件格式不正确。输入=/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 函数可以完成类似的工作。
解决方案
不转换 Microsoft Office 2007 和更高版本的文档。
对于更新的 Office 文档,您可以考虑将 CPF 与 Office OpenXML Extract 管道一起使用,此处也提到:https ://stackoverflow.com/a/11248525/918496
!
推荐阅读
- c - 从非常量 char* 数组中读取
- angular - webpack-angular : bundle 包含整个 node_modules 库
- angular - Reducer 的 @ngrx/entity EntityAdapter 函数不会更改存储状态
- matlab - 无法在条形图上应用颜色图
- angular - 使用 NgModel 对象引用更改输入值。角 5
- api - 在从空手道调用 API 之前检查底层存储过程的运行状况/可用性
- php - 在覆盖php内容期间包含什么文件?
- reactjs - 隐藏后如何拆除组件?
- javascript - 点击按钮保存多张图片
- css - 通过css设置Sider表单antd的宽度