Открыть защищенный паролем файл Word в Java? - PullRequest
8 голосов
/ 09 сентября 2010

Как я могу открыть защищенный паролем файл Microsoft Word (.doc, .docx) в Java, если пароль известен?

Ответы [ 3 ]

1 голос
/ 09 сентября 2010

Вы можете попробовать это с com4j.

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.documents.open2000.aspx

Поскольку в методе open есть параметр с именем PasswordDocument, я думаю, что можно открытьФайл, защищенный паролем.

Надеюсь, это то, что вы искали;)

Редактировать: я записал этот макрос в Word.должен выглядеть примерно так (пароль "Hallo"):

     _Document document = app.documents().open2000(doc, false, false, false, "hallo", "", false, "hallo", "", WdOpenFormat.wdOpenFormatAuto, false, true);
0 голосов
/ 30 сентября 2010

Хорошей отправной точкой стал бы проект Apache POI, который поддерживает форматы Office 97-2003 и OOXML (2007-2010).Если вы в основном заинтересованы в извлечении текста из этих файлов, вам также следует обратить внимание на проект Tika, в котором есть хороший код, такой как OfficeParser.java

.Известные пароли в строке 220 в методе parse ():

if (!d.verifyPassword(Decryptor.DEFAULT_PASSWORD)) {
throw new TikaException("Unable to process: document is encrypted");
}

- пароль по умолчанию установлен на наиболее бесполезный пароль "VelvetSweatshop" (!)

0 голосов
/ 09 сентября 2010

В наших проектах мы используем Aspose для управления документами Office, но мы не имеем дело с документами, защищенными паролем, но я предполагаю, что эта библиотека обрабатывает такие случаи ...

...