PHP转换Word文件为Html
要在 PHP 中读取 Word 文件内容并将其转换为 Html 文本内容,可以使用第三方库,作者亲测好使。🤪
了解更多信息可以前往插件地址 PHPWord (opens new window)
作者已经准备好了测试Demo,链接地址:点击下载 (opens new window)
首先,确保安装了 Composer 依赖管理器,然后运行以下命令来安装 phpoffice/phpword
库。
composer require phpoffice/phpword
1
接下来,创建一个新的 PHP 文件(比如 word_to_html.php
),并在其中编写以下代码。
<?php
// 引入 Composer 自动加载文件
require_once 'vendor/autoload.php';
use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\Settings;
// 读取Word文件
$wordFile = 'path/to/your/word_file.docx';
// 创建一个阅读器对象
$phpWordReader = IOFactory::createReader('Word2007');
// 加载Word文件内容到内存中
$phpWord = $phpWordReader->load($wordFile);
// 将Word文档保存为HTML文件
$htmlFile = 'path/to/output/html_file.html';
$phpWordWriter = IOFactory::createWriter($phpWord, 'HTML');
$phpWordWriter->save($htmlFile);
// 从HTML文件中读取HTML内容
$htmlContent = file_get_contents($htmlFile);
// 输出HTML内容
echo $htmlContent;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
将上述代码中的 path/to/your/word_file.docx
替换为您要读取的 Word 文件的路径,将 path/to/output/html_file.html
替换为您希望保存生成的 Html 文件的路径。运行此脚本后,您将看到Word文件内容已转换为HTML富文本。
请注意,这个示例假设您使用的是 .docx
文件。如果您有其他类型的 Word 文件(如 .doc
文件),您需要使用不同的阅读器。例如,对于 .doc
文件,您需要创建阅读器时使用 IOFactory::createReader('MsDoc')
。
这个示例将 Word 文档转换为 Html 文件,然后将 Html 文件的内容读取到变量中。如果您不需要将 Html 内容保存到文件中,可以参考下面的代码直接将 Word 内容转换为 Html 字符串:
<?php
// 引入 Composer 自动加载文件
require_once 'vendor/autoload.php';
use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\Settings;
// 读取Word文件
$wordFile = 'path/to/your/word_file.docx';
// 创建一个阅读器对象
$phpWordReader = IOFactory::createReader('Word2007');
// 加载Word文件内容到内存中
$phpWord = $phpWordReader->load($wordFile);
// 将Word文档保存为HTML字符串
ob_start();
$phpWordWriter = IOFactory::createWriter($phpWord, 'HTML');
$phpWordWriter->save('php://output');
$htmlContent = ob_get_clean();
// 输出HTML内容
echo $htmlContent;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
这段代码中,我们使用输出缓冲区( ob_start
和 ob_get_clean
)来捕获HTML输出,而不是将其保存到文件中。
上次更新: 2023/09/05, 16:08:13