Last Updated: 08 Oct, 2025

在 Web 应用程序中使用 PDF 已成为各行各业的普遍需求。无论您管理的是发票、合同还是学术内容,能够将 PDF 文档转换为可编辑格式(例如 Microsoft Word (DOCX))都至关重要。幸运的是,借助强大且免费的 PHP API,开发人员可以轻松地自动化和简化此过程。
为什么要使用 PHP 将 PDF 转换为 Word?
PDF 文件非常适合分发,因为它们保留了布局和设计。然而,编辑它们并不总是那么简单。另一方面,Word 文档具有高度可编辑性,使其成为需要用户交互、更新或协作的任务的理想选择。基于 PHP 的解决方案允许开发者:
- 启用服务器端批量 PDF 转 Word 转换功能 3
- 在 Web 应用中集成文档编辑工作流
- 自动生成报告和处理文档
- 允许最终用户下载可编辑的文件版本
以下是一些最可靠且免费的 PHP API 和库,可帮助您以最少的设置完成 PDF 转 Word 转换。
PHPWord 与 PDF 解析器
为了更好地控制转换过程,您可以将 PHPWord(一个用于创建和操作 Word 文档的库)与 PDF 解析库 结合使用。
代码示例说明:
此示例首先使用 PDFParser 库读取 PDF 并从每页提取文本。然后,它使用 PHPWord 创建一个新的 Word 文档并将提取的文本添加到其中。此方法可让您对输出进行精细控制,允许您根据需要设置文本格式并添加其他元素。
require_once 'vendor/autoload.php';
// 创建一个新的 PDF 解析器对象
$parser = new \Smalot\PdfParser\Parser();
// 解析 PDF 文件
$pdf = $parser->parseFile('path/to/your/document.pdf');
// 从 PDF 中获取所有页面
$pages = $pdf->getPages();
// 创建一个新的 PHPWord 对象
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// 向 Word 文档添加一个部分
$section = $phpWord->addSection();
// 循环遍历 PDF 的每一页
foreach ($pages as $page) {
// 从页面中提取文本
$text = $page->getText();
// 将文本添加到 Word 文档
$section->addText($text);
}
// 保存 Word 文档
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('output.docx');
echo "PDF 内容提取成功并保存到 Word!";
Spatie PDF 转文本 + PHPWord(基于文本的转换)
如果您的 PDF 文件主要包含纯文本(不包含复杂的表格或图像),您可以将开源库 Spatie PDF 转文本 和 PHPWord 结合起来,构建一个轻量级的转换流程。
工作原理
如果您可以使用 Adobe Acrobat Pro,这是最直接的方法。
步骤:
- 首先,您需要使用 Spatie\PdfToText API,它可以从 PDF 中提取纯文本。
- 使用 PHPWord 库 将提取的内容生成 Word 文档。
- 最适合纯文本 PDF,无需复杂的格式。
以下代码示例展示了如何使用 PHPWord 库从 PDF 文件中提取文本,然后生成包含提取内容的 Word 文档。
PdfReader reader = new PdfReader("form.pdf");
FileOutputStream out = new FileOutputStream("data.fdf");
FdfWriter writer = new FdfWriter();
writer.setField("name", "John Doe");
writer.writeTo(out);
reader.close();
out.close();
通过 PHP(开源 Docker 微服务)访问 Gotenberg
Gotenberg 是一款开源文档转换微服务,可以通过 HTTP 请求与 PHP 集成。它非常适合喜欢使用基于 Docker 工具的开发者。
工作原理
- Gotenberg 在后端使用 LibreOffice 来转换 PDF。
- 您发送一个包含 PDF 文件的 POST 请求。
- 服务器返回 DOCX 文档。
Code Snippet (PHP + Gotenberg)
Aspose.PDF Cloud for PHP (Free Tier)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost:3000/forms/libreoffice/convert');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$data = [
[
'name' => 'files',
'contents' => fopen('input.pdf', 'r'),
'filename' => 'input.pdf'
]
];
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
file_put_contents('output.docx', $response);
curl_close($ch);
echo "Conversion done via Gotenberg!";
Aspose.PDF Cloud for PHP(免费版)
Aspose.PDF Cloud PHP SDK 提供了强大的 PHP SDK,允许软件开发人员直接使用其云 API 将 PDF 文件转换为 Word 格式。您可以免费使用有限的 API 调用。以下是一个简单的示例,展示了软件开发人员如何使用 PHP 命令加载 PDF 文件并将其转换为 Microsoft Word DOCX 文档。
代码示例:
use Aspose\Pdf\Cloud\PdfApi;
$pdfApi = new PdfApi('YOUR_APP_KEY', 'YOUR_APP_SID');
$pdfApi->putConvertDocument('sample.pdf', ['format' => 'docx']);
总结
使用 PHP 将 PDF 文件转换为 Word 文档并不一定复杂或昂贵。借助合适的免费工具和库,开发人员可以为用户提供无缝、可编辑的文档导出功能,提升文档自动化程度,并提高整体生产力。无论您喜欢轻量级的 PHP 包装器还是强大的云端 API,总有一款解决方案适合您的需求。
常见问题解答
问:我可以在不使用付费 API 的情况下,使用 PHP 将 PDF 文件转换为 Word 文件吗?
答:是的,您可以免费使用 Spatie、PHPWord 和 LibreOffice CLI 等开源库。
问:开源 PDF 转 Word 转换工具支持图像和格式设置吗?
答:基本工具不支持,但使用 LibreOffice 或 Gotenberg 可以保留布局和图像。
问:是否可以在 PHP Web 应用程序中自动将 PDF 文件转换为 DOCX 文件?
答:当然可以——这些库可以集成到任何基于 PHP 的工作流程中。