首页 > 解决方案 > 如何使用 PHP 打开/解密受密码保护的 word 文件 (docx)

问题描述

我正在尝试使用 PHP 以编程方式打开一个 word 文件 (.docx)。此 word 文件受密码保护和加密,因此如果不提供密码,则无法显示其内容。我当然知道密码。

但是我怎样才能通过提供密码来用 PHP 打开这个 word 文件呢?

唯一至少提到密码保护的 PHP 库是伟大的 PhpOffice/PhpWord - 但它不支持打开受密码保护的文件:https ://github.com/PHPOffice/PHPWord/issues/357

请注意,密码保护以防止不必要的更改和 - 这是我的情况 - 保护它免受未经授权的打开之间存在细微差别。

TIA

标签: phpencryptionms-wordpasswordsdocx

解决方案


欢迎您查看我的PHPDecryptXLSXWithPassword 存储库。

先用密码解密文件,然后用 PHPWord 使用解密后的文件。

这是一个例子:

require_once('PHPDecryptXLSXWithPassword.php');

$encryptedFilePath = '../path/to/encrypted/file.docx';
$password = 'mypassword'; // password to "open" the file
$decryptedFilePath = '../path/to/decrypted/file.docx';

decrypt($encryptedFilePath, $password, $decryptedFilePath);

// now you can use PHPWord with $decryptedFilePath

注意:这是一个实验代码,所以请谨慎使用。不要在生产中使用!


推荐阅读