我搜索过每一个地方但是,我找不到任何答案。 所有帖子和讨论都是关于创建受保护的帖子,但没有任何内容可以打开它。
我已在c#程序中保护DOCX和DOC文档,并希望使用OpenXML 2.5以编程方式打开它们。
我使用Office interlope打开它们,因为它有密码参数。 但是对于大量的文档编号来说这很慢。
我可以使用OpenXml打开受密码保护的Word文档吗?怎么样?
感谢。
答案 0 :(得分:2)
受密码保护的文档(使用密码保存的文档)不是Zip包,而是二进制文件。如果你考虑一下,原因很明显:一个Zip文件的XML包是人类可读的 - 不安全。因此,您无法通过Open XML文件格式操作受密码保护的Word文档 - 它根本就不存在。
答案 1 :(得分:0)
有一种方法可以通过取消保护来使用OpenXml
释放锁。
找到了答案Here。
WordprocessingDocument doc = WordprocessingDocument.Open(filePaths[i], true);
doc.ExtendedFilePropertiesPart.Properties.DocumentSecurity = new DocumentSecurity("0");
doc.ExtendedFilePropertiesPart.Properties.Save();
DocumentFormat.OpenXml.Wordprocessing.DocumentProtection dp =
doc.MainDocumentPart.DocumentSettingsPart
.Settings.ChildElements.First<DocumentFormat.OpenXml.Wordprocessing.DocumentProtection>();