2010-09-09 2 views

ответ

1

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

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

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

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

Edit: я записал этот макрос в Word.

Documents.Open FileName:="test.doc", ConfirmConversions:= _ 
    False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:= _ 
    "hallo", PasswordTemplate:="", Revert:=False, WritePasswordDocument:= _ 
    "hallo", WritePasswordTemplate:="", Format:=wdOpenFormatAuto 

Таким образом, открытый метод в com4j должен выглядеть что-нибудь подобное (пароль «Алло»):

 _Document document = app.documents().open2000(doc, false, false, false, "hallo", "", false, "hallo", "", WdOpenFormat.wdOpenFormatAuto, false, true); 
-1

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

0

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

Вы захотите заменить свои известные пароли вокруг строки 220 в синтаксический анализ() метод: - (!)

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

пароль по умолчанию устанавливается в основном бесполезным пароль «VelvetSweatshop»

+3

VelvetSweatshop не просто любопытная строка, в данном случае - это по умолчанию Excel пароль используется, когда пароль не установлен, но рабочая книга «защищена» ... – Stobor

Смежные вопросы