2016-09-19 4 views
1

Ich möchte ein Passwort zu meiner Word-Datei (.doc) hinzufügen. Ich suchte in Google nach, fand aber nur eine Lösung für (.docx). Kann mir jemand helfen? Ich verwende diesen Code, aber die Ausgabedatei hat kein Passwort.Word (.doc) Datei mit Passwort hinzufügen apache poi

+1

Haben Sie sich die [Apache POI unterstützte Verschlüsselungs-/Passwortschutzmatrix] (http://poi.apache.org/encryption.html) angesehen? – Gagravarr

+0

@ Gagravarr ja. In diesem Handbuch wurde keine .doc-Datei unterstützt, sondern nur die .docx-Datei. Kann jemand für einen anderen Weg vorschlagen? – kids

Antwort

1

Wie Gagravarr darauf hingewiesen hat, fasst die Seite für die unterstützte Verschlüsselung/Passwortschutz-Matrix es ziemlich zusammen. Mit der Standardbibliothek können Sie kein Passwort festlegen.

Möglicherweise haben Sie eine Option, es zu implementieren, wenn die Details in der Binärformatspezifikation für das Word-Dateiformat beschrieben sind. Vor einigen Jahren habe ich eine benutzerdefinierte HWPF-Bibliothek für einen Client erstellt. Daher habe ich viel Zeit mit der Analyse des Dateiformats und dem Lesen der Spezifikationen verbracht. Ich erinnere mich jedoch nicht an die Abschnitte über Verschlüsselung/Schutz, wahrscheinlich weil sie für mich nicht relevant waren.

Wenn es möglich ist, Schutz mit einer angemessenen Menge an Arbeit hinzuzufügen: .doc Dateien werden im OLE2-Verbunddokumentformat gespeichert. Dieses Format enthält die tatsächlichen Word-bezogenen Daten. (Wenn Sie neu sind, könnten Sie es als Archiver-Format betrachten - vielleicht wie eine ZIP-Datei ohne Komprimierung.) Der OLE2-Teil wird gut unterstützt (Modul POIFS). Das binäre Word-Dateiformat (Modul HWPF) wird nicht so gut unterstützt. Wenn Sie eine Word-Datei in eine HWPFDocument lesen und diese wieder ausschreiben, haben Sie höchstwahrscheinlich ein ungültiges Dokument.

Also wenn es möglich ist, Schutz hinzuzufügen, ohne die HWPFDocument lesen und schreiben zu müssen, haben Sie eine Chance. Wenn die Änderung des Word-Datenteils benötigt wird, und es ist nur klein, vielleicht ein paar Bytes ändern (nicht einfügen oder entfernen) ohne das Lesen und Schreiben der HWPFDocument, dann haben Sie auch eine Chance. Aber wenn die Implementierung des Schutzes Änderungen an vielen Word-Dateiformat-Strukturen erfordert, werden Sie diesen Teil des Projekts wahrscheinlich nicht innerhalb von Monaten (vielleicht Jahren, wenn Sie ein Ein-Mann-Team sind :-)) beenden.

+0

Ich bin schon immer einen langen Weg um HWPF gegangen, aber die Implementierung der Verschlüsselung [# 61162] (https://bz.apache.org/bugzilla/show_bug.cgi?id=61162) war mehr oder weniger geradlinig und einfach Zeug hat in ein paar Stunden funktioniert :) – kiwiwings

Verwandte Themen