Код: Выделить всё
FileInputStream fis = new FileInputStream(path)
POIFSFileSystem fs = new POIFSFileSystem(fis)
EncryptionInfo info = new EncryptionInfo(fs);
Decryptor decryptor = Decryptor.getInstance(info);
if (!decryptor.verifyPassword(password)) {
throw new EncryptedDocumentException("Incorrect password");
}
InputStream dataStream = decryptor.getDataStream(fs);
Я исследовал следующие варианты:
- Aspose.Words: кажется, это лучший вариант, он лицензирован
- OpenOffice/UnoAPI: работает локально, но я не могу установить OpenOffice в prod
- JODConverter: не поддерживает файлы .doc, защищенные паролем.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -with-java