将丰富的 Word 文档转换为适用于 Web 的 HTML 是现代 PHP 应用的常见需求。 GroupDocs.Conversion Cloud SDK for PHP 提供了强大的 API,在云端处理繁重的工作。在本教程中,我们演示如何使用 SDK 将 DOCX 转换为 PHP 中的 HTML。您将学习如何设置库、运行完整的代码示例,以及使用 cURL 调用执行相同的转换。
如何在 PHP 中将 DOCX 转换为 HTML - 逐步指南
- 通过 Composer 安装 SDK: 使用官方 Composer 命令将库添加到您的项目中。
composer require groupdocs-conversion-cloud
- 初始化配置:创建一个
Configuration对象并设置您的应用 SID 和应用密钥。
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
- 配置 HTML 转换选项:调整图像提取和页码处理等设置。
$htmlOptions = new GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions();
$htmlOptions->setExtractImages(true);
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
- 创建转换设置:定义源文件、目标格式并附加 HTML 选项。
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
- 执行转换: 调用
convertDocument方法并处理结果。
$convertApi = new GroupDocs\Conversion\Cloud\Api\ConvertApi($config);
try {
$result = $convertApi->convertDocument($convertSettings);
echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}
有关每个类和方法的更多详细信息,请参阅 API 参考。
完整代码示例:在 PHP 中从 DOCX 生成 HTML
以下示例演示了使用 SDK 的完整端到端转换。
<?php
require __DIR__ . '/vendor/autoload.php';
use GroupDocs\Conversion\Cloud\Configuration;
use GroupDocs\Conversion\Cloud\Api\ConvertApi;
use GroupDocs\Conversion\Cloud\Model\ConvertSettings;
use GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions;
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
$convertApi = new ConvertApi($config);
$inputFilePath = 'sample.docx';
$outputFilePath = 'output.html';
$htmlOptions = new HtmlConvertOptions();
$htmlOptions->setExtractImages(true); // extract images to separate files
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false); // generate plain HTML, not a zip archive
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
$convertSettings = new ConvertSettings();
$convertSettings->setFilePath($inputFilePath);
$convertSettings->setOutputPath($outputFilePath);
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
try {
$result = $convertApi->convertDocument($convertSettings);
echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}
注意: 此代码示例演示了核心功能。在项目中使用之前,请确保更新文件路径(
sample.docx、output.html)以匹配实际文件位置,验证所有必需的依赖项已正确安装,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。
使用 cURL 和 REST API 将 DOCX 文件转换为 HTML
SDK 还提供了一个可以使用 cURL 调用的 REST 端点。以下是典型的工作流程。
- 获取访问令牌
将YOUR_CLIENT_ID和YOUR_CLIENT_SECRET替换为您的凭据。
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
上传 DOCX 文件
使用上一步的令牌。curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/storage/file/sample.docx" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -F "file=@sample.docx"开始转换
请求将文件转换为 HTML。
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filePath": "sample.docx",
"outputPath": "output.html",
"format": "html",
"options": {
"extractImages": true,
"zipOutput": false
}
}'
- 下载生成的 HTML
curl -X GET "https://api.groupdocs.cloud/v2.0/conversion/storage/file/output.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.html
要获取完整的参数列表,请参阅官方 API 文档。
安装和配置 GroupDocs.Conversion Cloud SDK for PHP
composer require groupdocs-conversion-cloud
从发布页面下载最新的包。SDK 要求 PHP 7.4 或更高版本,并且需要拥有有效凭据的活跃 GroupDocs Cloud 帐户。
require __DIR__ . '/vendor/autoload.php';
use GroupDocs\Conversion\Cloud\Configuration;
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID'); // obtain from your GroupDocs Cloud dashboard
$config->setAppKey('YOUR_APP_KEY');
GroupDocs.Conversion Cloud SDK for PHP 将 DOCX 转换为 HTML 的功能
- 图像提取 -
extractImages允许您将嵌入的图片提取为单独的文件,保持布局的忠实度。 - 页码控制 - 可以禁用
preserveOriginalPageNumbers以生成连续的 HTML 流。 - 纯 HTML 输出 - 将
zipOutput设置为 false 会生成单个 HTML 文件,而不是 ZIP 存档,从而简化后续处理。 - 隐藏文本处理 -
showHiddenText决定是否在最终 HTML 中显示隐藏内容。 - 单页渲染 -
renderToSinglePage可以将所有页面合并为一个 HTML 文档,以便更容易嵌入。
所有功能均在文档中描述。
结论
使用 GroupDocs.Conversion Cloud SDK for PHP 在 PHP 中将 DOCX 转换为 HTML 变得简单。该库能够处理复杂的格式、图像提取和页面管理,无需在服务器上安装 Microsoft Office。按照上述步骤操作后,您可以将 DOCX 到 HTML 的转换集成到任何基于 PHP 的工作流中,无论是使用原生 SDK 调用还是 RESTful cURL 请求。请记得获取适用于生产环境的正式许可证;定价详情请参阅 临时许可证页面。立即开始转换,为用户提供丰富的 Web 就绪内容。
常见问题
如何在 PHP 中实现 DOCX 转 HTML,而无需安装额外的软件?
基于云的 SDK 在 GroupDocs 服务器上完成所有处理,因此您只需 PHP 库和凭据即可。我可以在单个请求中转换多个 DOCX 文件吗?
API 通过在代码中循环文件来支持批量转换;每次调用都会返回其自己的 HTML 结果。DOCX 文件中的图像会怎样?
启用extractImages后,图像会保存为单独的文件,并在生成的 HTML 中被引用,您可以直接提供这些图像。有没有办法自定义生成的HTML布局?
您可以对HTML输出进行后处理,或调整转换选项,例如renderToSinglePage,以影响结构。
