使用 UDJC 在 Pentaho 中读取受密码保护的 PDF

Read password protected PDF in Pentaho using UDJC

我正在尝试使用 bcprov-jdk15on-1.56.jaritextpdf-5.5.[=30= 解锁受密码保护的 PDF ] 但我遇到以下异常。我正在使用 'User Defined Java Class' 转换任务。

异常:class"org.bouncycastle.asn1.ASN1Primitive"的签名者信息与同一包中其他class的签名者信息不匹配

这是我写的代码行,

String pdfFilePath = get(Fields.In, "PDFFilePath").getString(r);

String dest = pdfFilePath +"_unlocked.pdf";

try {
    PdfReader reader = new PdfReader(pdfFilePath,owner_password.getBytes());
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));

    stamper.close();
    reader.close();
}
catch(Exception e) {
    logBasic("EXCEPTION WHILE UNLOCKING PDF = " + e.getMessage());
}

知道吗,这有什么问题吗?

谢谢, 尼勒什

您的类路径中似乎有多个 BouncyCastle jar。尝试使用版本 1.49,它是 iText 5.5.10 的编译版本,如果它没有帮助,你将不得不弄清楚哪些 jar 恰好在你的类路径中并删除重复项。