Apache-Tika를 사용하여 문서를 읽고 쓰고 있습니다. PDF와 Microsoft 문서를 모두 읽을 수있는 장점이 있습니다.보호 된 문서 확인
진행하기 전에 문서 비밀번호가 보호되는지 여부를 확인하고 싶습니다. 이 작업을 수행 할 명시 적 방법이 있습니까?
Apache-Tika를 사용하여 문서를 읽고 쓰고 있습니다. PDF와 Microsoft 문서를 모두 읽을 수있는 장점이 있습니다.보호 된 문서 확인
진행하기 전에 문서 비밀번호가 보호되는지 여부를 확인하고 싶습니다. 이 작업을 수행 할 명시 적 방법이 있습니까?
아니요, 미리 확인할 방법이 없습니다. 그렇지 않으면
ParseContext context = new ParseContext();
context.set(PasswordProvider.class, new PasswordProvider() {
public String getPassword(Metadata metadata) {
return "password";
}
});
parser.parse(stream, handler, metadata, context);
: 그것은 당신이 파일의 암호를 알고있는 경우가
, 당신은 같은 논리 뭔가를 사용해야 처리를 통해 공정한 방법을 때까지 티카는 파일이 암호로 보호되어 알 수 없습니다 때문입니다 암호를 모르면 암호를 묻는 메시지가 나타나면 PasswordProvider
클래스를 제공합니다.이 클래스는 Metadata 개체를 가져 와서이를 기반으로 프롬프트/조회합니다.
다른 옵션은 구문 분석을 시도하고 EncryptedDocumentException
을 catch 한 다음 가능한 경우 PasswordProvider로 다시 구문 분석합니다. 일반적으로 EncryptedDocumentException
은 일찍 처리되므로 오버 헤드가 너무 높지 않습니다.
암호를 지정하지 않고 PDF 읽기 라이브러리로 열어 보십니까? 그것이 실패하면 암호로 보호된다는 것을 알 수 있습니다 ... – fge