我已经尝试了各种版本的文本,包括试用许可证的itextgoogle,当我试图运行我的代码时,我一直得到以下错误:
InputStream object = this.getResources().openRawResource(R.raw.itextkey);
LicenseKey.loadLicenseFile(object);
Document document = new Document();
try {
PdfWriter.getInstance(document, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + java.io.File.separator + "testPDF.pdf"));
document.open();
document.add(new Paragraph("testing"));
} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}
document.close();
错误是:
04-26 20:18:12.761: E/dalvikvm(1927): Could not find class 'org.spongycastle.cert.X509CertificateHolder', referenced from method com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj
04-26 20:18:12.761: W/dalvikvm(1927): VFY: unable to resolve new-instance 2251 (Lorg/spongycastle/cert/X509CertificateHolder;) in Lcom/itextpdf/text/pdf/PdfReader;
我听说我需要建立我自己的文本,但我不确定从哪里开始/如何做到这一点。我找到的jar在文件名中不是很有描述性。
海绵城堡是一个替代BouncyCastle加密库在Android中可用。看看这个帖子-如何在Android中包含海绵城堡JAR ?其中详细介绍了如何将海绵城堡库包含到项目中。