在提取到MarkLogic之前,有什么方法可以识别受密码保护的二进制文档吗?

时间:2018-06-27 06:52:09

标签: marklogic marklogic-8 marklogic-9

我们在应用程序中推送了一些二进制文档,例如word和pdf文档,但是某些二进制文档可能受密码保护。我们需要在将这些二进制文件提取到MarkLogic中之前对其进行验证,以便我们可以为那些受密码保护的二进制文件抛出异常。请建议

1 个答案:

答案 0 :(得分:0)

它可能不是性能最高的,但是您可以首先使用xdmp:document-filter()函数来验证您能够打开和读取PDF文件。

如果PDF受密码保护,它将引发异常。使用try / catch,只有在没有例外的情况下才插入文档。

  try {
    let $_ := xdmp:document-filter($doc)
    return xdmp:document-insert($uri, $doc)
  } catch ($exception) {
    (: failed to parse the encrypted PDF, don't insert :)
  }