使用Itext加密PDF会生成空白文件

时间:2014-07-08 20:43:25

标签: file encryption itext

我正在使用Itext 5.0.6,在尝试加密pdf时,我得到零大小(空白文件)。任何的想法 ?如果我不尝试加密,那么我得到的文件没问题。

try
{
    File f = new File("C://secure_abc.pdf");
    FileOutputStream out = new FileOutputStream(f);
    PdfReader reader = new PdfReader("C://abc.pdf");
    System.out.println("reader.getFileLength(): "+reader.getFileLength());
    PdfStamper stamp = new PdfStamper(reader, out);
    stamp.setEncryption(null, null,
    PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);
}

2 个答案:

答案 0 :(得分:1)

确保使用充气城堡库,iText依赖于lib。

答案 1 :(得分:0)

请在最后添加以下行:

stamp.close();

执行此操作时,您创建了一个零长度文件:

FileOutputStream out = new FileOutputStream(f);

但在关闭PdfStamper实例之前,没有字节写入该输出流。

另外:5.0.6很老了。为什么不使用更新的版本?