Я думаю, что это будет зависеть от версии Microsoft Word.Более старые версии Word (до 2007 года) потребуют некоторого взаимодействия COM, поскольку они не сохраняются в открытом формате.Вы ничего не можете сделать, чтобы обойти это, и я чувствую ваше разочарование по поводу установки чего-либо Office на веб-сервере.Кроме того, я считаю, что единственный способ обнаружить защиту паролем для них - попытаться открыть / снять защиту с файла и перехватить определенное исключение (возможно, вам придется дополнительно оценить код ошибки в этом исключении).Не красиво!
Однако для более новых версий слова (2007+), сохраненных в открытом формате DOCX ( Стандарт ECMA-376 ), вы можете проверить XML и проверить наличиеэлемент DocumentProtection
с атрибутом w:enforcement
, установленным на "on" ...
<w:DocumentProtection
w:edit="read-only"
w:enforcement="on"
w:unprotectPassword="1FC6CBEB"/>
Примечание. Видимый здесь пароль зашифрован (очевидно);Я сохранил этот конкретный документ с паролем «test».