2014-01-14 1 views
2

내용을 읽고 pdf 파일로 다시 매핑하기 위해 pdf 파일을 열 때 오류가 발생합니다. 오류이다 com.itextpdf.text.exceptions.InvalidPdfException : 알 암호화 타입 R = 6 com.itextpdf.text.pdf.PdfReader.readPdf에서 (PdfReader.java:631)Itext PDFReader 256 비트 AES 암호화 PDF 읽기

I 자바 1.6을 사용하고 , Itext 5.4.1 및 bouncycastle 1.48. pdf는 버전 1.7로 만들어졌으며 256 비트 AES로 암호화되었습니다. 누구든지이 유형의 ecncrypted pdf를 읽는 Java의 예제가 있습니까?

현재 내 코드는 모든 pdf 이전 버전을 오류없이 읽습니다. 이전 버전은 128 비트 암호화로 암호화됩니다.

 PdfReader reader = new PdfReader(src,"passwordtext".getBytes()); 
     PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); 
     AcroFields form = stamper.getAcroFields(); 

도움을 주시면 감사하겠습니다.

답변

2

개정 6은 PDF 2.0 인 'ISO 32000-2'에 포함되어 있습니다. PDF 2.0은 아직 공식 표준이 아니기 때문에 iText는 공식 표준을 지원하지 않습니다. 이제 어떻게 그리고 왜 그 표준을 사용하는 문서를 가지고 있는지 스스로에게 물어볼 수 있습니다. Adobe는 공개적으로 사용할 수없고 아직 출시되지 않았기 때문에 (따라서 변경으로 인해) 해당 부분에 대한 나쁜 결정인데도 이미 구현했습니다. 표준이 릴리스 된 후에도 iText는 그것을 지원할 것이지만 당신은 그것을 기다려야 할 것입니다. 그 때까지 "낮은"암호화 알고리즘 (예 : 개정 1-5)을 사용하여 Adobe Acrobat으로 해당 문서를 다시 생성하십시오.