xdmp: word-convert () с DOCX в MarkLogic

Я пытаюсь преобразовать свой двоичный документ (файл DOCX) с помощью функции xdmp: word-convert (), это вызывает следующую ошибку.

Файл, который вы пытаетесь преобразовать, имеет неправильный формат. 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›) - Файл, который вы пытаетесь преобразовать, имеет неправильный формат. 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, каковы будут другие возможные функции API, которые будут выполнять аналогичную работу, кроме xdmp: document-filter.


person user3463568    schedule 17.05.2018    source источник


Ответы (1)


В документах на xdmp:word-convert говорится:

Не конвертирует документы Microsoft Office 2007 и более поздних версий.

Для более поздних офисных документов вы можете изучить использование CPF с конвейерами извлечения Office OpenXML, как также упоминалось здесь: https://stackoverflow.com/a/11248525/918496

HTH!

person grtjn    schedule 17.05.2018