检测 PDF 是否损坏或受 Blue Prism 密码保护

Detecting PDF is corrupt or password protected by Blue Prism

Blue Prism 中是否有任何 VBO 或方法来检测 PDF 是否已损坏(意味着无法打开)或受密码保护。这样可以将其作为布尔值存储在决策变量中?

这已通过使用 Blue Prism DX 门户的 SRI Infotech PDF Utility asset 解决。它有一个 itextsharp.dll 和一个用于 PDF 功能的 VBO。需要使用 C# 自定义编码来解决问题陈述。使用的自定义 C# 代码是

pdfErrorMessage="";
validPdf=false;
try{
PdfReader r = new PdfReader(pdfFilePath);
if (r.IsOpenedWithFullPermissions)
{
   validPdf=true;
}
}
catch(Exception e) {
 pdfErrorMessage = e.ToString();
 validPdf=false;
}

如果您有权访问 ASPOSE 许可证,则可以在启用 Aspose.Pdf.dll 的 vbo 上使用 .net 命令 fileInfo.HasOpenPassword

使用此方法,您必须使用类似 New PDFFileInfo(yourPDFDocument) 的内容加载文件,如果文件已损坏,这将引发特定错误。