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