Как указал Гагравар, страница для поддерживаемой матрицы шифрования/защиты пароля в значительной степени суммирует ее. В стандартной библиотеке вы не сможете установить пароль.
Возможно, у вас есть возможность реализовать его, если подробности описаны в спецификации двоичных форматов для формата файла Word. Несколько лет назад я создал пользовательскую библиотеку HWPF для клиента, поэтому я потратил много времени на анализ формата файла и чтение спецификаций. Тем не менее, я не помню разделы о шифровании/защите, возможно, потому, что они не имели отношения ко мне.
Если есть возможность добавить защиту с разумным объемом работы: .doc
файлы хранятся в формате документа OLE2. Этот формат содержит фактические данные, относящиеся к Word. (Если вы новичок в этом, вы можете подумать об этом как формате архиватора - возможно, как ZIP-файл без сжатия.) Часть OLE2 хорошо поддерживается (модуль POIFS
). Бинарный формат файла Word (модуль HWPF
) не очень хорошо поддерживается. Если вы прочитали файл Word в HWPFDocument
и снова напишите это, скорее всего, вы получите недопустимый документ.
Так что, если можно добавить защиту без необходимости читать и записывать HWPFDocument
, у вас есть шанс. Если требуется модификация части данных Word, и она мала, возможно, изменив пару байтов (не вставляя или удаляя) без чтения и записи HWPFDocument
, тогда у вас также есть шанс. Но если для реализации защиты требуются изменения во многих структурах формата Word, вы, вероятно, не закончите эту часть проекта в течение нескольких месяцев (может быть, лет, если вы единоличная команда :-)).
Вы посмотрели [основанную на Apache POI матрицу защиты/защиты паролем] (http://poi.apache.org/encryption.html)? – Gagravarr
@Gagravarr да. в этом руководстве не поддерживается файл .doc, он поддерживает только файл .docx. может ли кто-нибудь предложить по-другому? – kids