2010-09-09 17 views

risposta

1

si può provare con com4j.

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

Poiché v'è un parametro chiamato "PasswordDocument" nel -Metodo "aperto", penso che sia possibile aprire un file protetto da password.

Spero che questo è quello che stavi cercando;)

Edit: ho registrato questa macro in Word.

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

Così il metodo aperto di com4j dovrebbe apparire qualcosa di simile (la password è "Ciao"):

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

Nei nostri progetti, usiamo Aspose per gestire i documenti di Office, ma non ci occupiamo con i documenti protetti da password, ma immagino che questa libreria gestisce questi casi ...

0

Un buon punto di partenza sarebbe il progetto Apache POI che supporta Office 97-2003 e Formati OOXML (2007-2010). Se sei principalmente interessato ad estrarre il testo da quei file, dovresti anche guardare il progetto Tika che ha un buon codice, come OfficeParser.java

Si vorrà sostituire la/e propria/e password/e nota/e attorno alla linea 220 nella metodo parse(): - (!)

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

la password di default è impostata la password per lo più inutile "VelvetSweatshop"

+3

VelvetSweatshop non è solo una stringa curiosa, in questo caso - è l'impostazione predefinita di Excel password utilizzata quando non è impostata alcuna password, ma la cartella di lavoro è "protetta" ... – Stobor

Problemi correlati