Last Updated: 08 Oct, 2025

Làm việc với PDF trong các ứng dụng web đã trở thành một yêu cầu phổ biến trong nhiều ngành nghề. Cho dù bạn đang quản lý hóa đơn, hợp đồng hay nội dung học thuật, việc có thể chuyển đổi tài liệu PDF sang các định dạng có thể chỉnh sửa như Microsoft Word (DOCX) là điều cần thiết. May mắn thay, với sự trợ giúp của các API PHP mạnh mẽ và miễn phí, các nhà phát triển có thể tự động hóa và hợp lý hóa quy trình này một cách dễ dàng.
Tại sao nên chuyển đổi PDF sang Word trong PHP?
Tệp PDF rất tuyệt vời để phân phối vì chúng giữ nguyên bố cục và thiết kế. Tuy nhiên, việc chỉnh sửa chúng không phải lúc nào cũng dễ dàng. Mặt khác, tài liệu Word có khả năng chỉnh sửa cao, khiến chúng trở nên lý tưởng cho các tác vụ yêu cầu tương tác, cập nhật hoặc cộng tác của người dùng. Một giải pháp dựa trên PHP cho phép các nhà phát triển:
- Cho phép chuyển đổi hàng loạt [PDF sang Word] phía máy chủ3
- Tích hợp quy trình làm việc chỉnh sửa tài liệu trong ứng dụng web
- Tự động hóa tạo báo cáo và xử lý tài liệu
- Cho phép người dùng cuối tải xuống các phiên bản có thể chỉnh sửa của tệp
Dưới đây là một số API và thư viện PHP đáng tin cậy và miễn phí nhất có thể giúp bạn thực hiện chuyển đổi PDF sang Word với thiết lập tối thiểu.
PHPWord với Trình phân tích cú pháp PDF
Để kiểm soát tốt hơn quá trình chuyển đổi, bạn có thể kết hợp sức mạnh của PHPWord, một thư viện để tạo và thao tác tài liệu Word, với Thư viện phân tích cú pháp PDF.
Giải thích ví dụ mã:
Ví dụ này trước tiên sử dụng thư viện PDFParser để đọc PDF và trích xuất văn bản từ mỗi trang. Sau đó, nó sử dụng PHPWord để tạo một tài liệu Word mới và thêm văn bản đã trích xuất vào đó. Phương pháp này cho phép bạn kiểm soát chi tiết đầu ra, cho phép bạn định dạng văn bản và thêm các thành phần khác khi cần.
require_once 'vendor/autoload.php';
// Tạo một đối tượng phân tích cú pháp PDF mới
$parser = new \Smalot\PdfParser\Parser();
// Phân tích cú pháp tệp PDF
$pdf = $parser->parseFile('path/to/your/document.pdf');
// Truy xuất tất cả các trang từ PDF
$pages = $pdf->getPages();
// Tạo một đối tượng PHPWord mới
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Thêm một phần vào tài liệu Word
$section = $phpWord->addSection();
// Lặp qua từng trang của PDF
foreach ($pages as $page) {
// Trích xuất văn bản từ trang
$text = $page->getText();
// Thêm văn bản vào tài liệu Word
$section->addText($text);
}
// Lưu tài liệu Word
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('output.docx');
echo "Đã trích xuất và lưu nội dung PDF vào Word thành công!";
Spatie PDF-to-Text + PHPWord (Chuyển đổi dựa trên văn bản)
Nếu tệp PDF của bạn chủ yếu chứa văn bản thuần túy (không phải bảng hoặc hình ảnh phức tạp), bạn có thể kết hợp các thư viện mã nguồn mở Spatie PDF-to-Text và PHPWord để tạo một quy trình chuyển đổi gọn nhẹ.
Cách thức hoạt động?
Đây là phương pháp đơn giản nhất nếu bạn có quyền truy cập Adobe Acrobat Pro.
Các bước:
- Trước tiên, bạn cần sử dụng Spatie\PdfToText API, công cụ trích xuất văn bản thuần túy từ PDF.
- Thư viện PHPWord được sử dụng để tạo tài liệu Word với nội dung đã trích xuất.
- Phù hợp nhất cho tệp PDF chỉ có văn bản mà không cần định dạng phức tạp.
Dưới đây là một ví dụ mã cho thấy cách trích xuất văn bản từ tệp PDF và sau đó tạo tài liệu Word với nội dung đã trích xuất bằng thư viện PHPWord.
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();
Gotenberg qua PHP (Vi dịch vụ Docker nguồn mở)
Gotenberg là một vi dịch vụ chuyển đổi tài liệu nguồn mở có thể được tích hợp với PHP bằng các yêu cầu HTTP. Nó lý tưởng cho các nhà phát triển ưa thích các công cụ dựa trên Docker.
Cách thức hoạt động?
- Gotenberg sử dụng LibreOffice ở phần phụ trợ để chuyển đổi PDF.
- Bạn gửi yêu cầu POST kèm theo tệp PDF.
- Máy chủ trả về tài liệu 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 cho PHP (Bản miễn phí)
SDK PHP của Aspose.PDF Cloud cung cấp một SDK PHP mạnh mẽ cho phép các nhà phát triển phần mềm chuyển đổi tệp PDF sang định dạng Word trực tiếp bằng API đám mây của họ. Bạn có thể bắt đầu miễn phí với số lượng lệnh gọi API hạn chế. Dưới đây là một ví dụ đơn giản cho thấy cách các nhà phát triển phần mềm có thể tải và chuyển đổi tệp PDF thành tài liệu Microsoft Word DOCX bằng các lệnh PHP.
Ví dụ mã:
use Aspose\Pdf\Cloud\PdfApi;
$pdfApi = new PdfApi('YOUR_APP_KEY', 'YOUR_APP_SID');
$pdfApi->putConvertDocument('sample.pdf', ['format' => 'docx']);
Lời kết
Việc chuyển đổi tệp PDF sang tài liệu Word bằng PHP không nhất thiết phải phức tạp hay tốn kém. Với các công cụ và thư viện miễn phí phù hợp, các nhà phát triển có thể cung cấp cho người dùng khả năng xuất tài liệu liền mạch, có thể chỉnh sửa, tăng cường tự động hóa tài liệu và cải thiện năng suất tổng thể. Cho dù bạn thích các trình bao bọc PHP nhẹ hay các API mạnh mẽ dựa trên đám mây, luôn có một giải pháp phù hợp với nhu cầu của bạn.
Câu hỏi thường gặp
Hỏi: Tôi có thể chuyển đổi PDF sang Word trong PHP mà không cần sử dụng API trả phí không?
Đáp: Có, bạn có thể sử dụng các thư viện mã nguồn mở như Spatie, PHPWord và LibreOffice CLI miễn phí.
Hỏi: Việc chuyển đổi PDF sang Word mã nguồn mở có hỗ trợ hình ảnh và định dạng không?
Đáp: Các công cụ cơ bản thì không, nhưng sử dụng LibreOffice hoặc Gotenberg sẽ giữ nguyên bố cục và hình ảnh.
Hỏi: Có thể tự động chuyển đổi PDF sang DOCX trong các ứng dụng web PHP không?
Đáp: Hoàn toàn có thể—các thư viện này có thể được tích hợp vào bất kỳ quy trình làm việc nào dựa trên PHP.