Останнє оновлення: 24 лип., 2025

Робота з PDF‑файлами у веб‑додатках стала поширеною вимогою у різних галузях. Незалежно від того, чи ви керуєте рахунками, контрактами чи академічним контентом, можливість конвертувати PDF у редаговані формати, такі як Microsoft Word (DOCX), є необхідною. На щастя, за допомогою потужних і безкоштовних PHP API розробники можуть автоматизувати та спростити цей процес.
Чому варто конвертувати PDF у Word у PHP?
PDF‑файли чудово підходять для розповсюдження, оскільки зберігають макет і дизайн. Однак їх редагування не завжди просте. Документи Word, навпаки, надзвичайно редаговані, що робить їх ідеальними для завдань, які вимагають взаємодії користувачів, оновлень або співпраці. Рішення на базі PHP дозволяє розробникам:
- Увімкнути серверну пакетну конвертація PDF‑у‑Word
- Інтегрувати робочі процеси редагування документів у веб‑додатках
- Автоматизувати генерацію звітів та обробку документів
- Дозволити кінцевим користувачам завантажувати редаговані версії їхніх файлів
Нижче наведено деякі з найнадійніших і безкоштовних PHP API та бібліотек, які допоможуть виконати конвертацію PDF у Word з мінімальними налаштуваннями.
PHPWord з PDF‑парсером
Для більшого контролю над процесом конвертації ви можете поєднати потужність PHPWord, бібліотеки для створення та маніпулювання Word‑документами, з бібліотекою розбору PDF.
Пояснення прикладу коду:
У цьому прикладі спочатку використовується бібліотека PDFParser для читання PDF і витягнення тексту з кожної сторінки. Потім PHPWord створює новий Word‑документ і додає витягнутий текст. Такий підхід дає тонкий контроль над вихідним результатом, дозволяючи форматувати текст і додавати інші елементи за потреби.
require_once 'vendor/autoload.php';
// Create a new PDF parser object
$parser = new \Smalot\PdfParser\Parser();
// Parse the PDF file
$pdf = $parser->parseFile('path/to/your/document.pdf');
// Retrieve all pages from the PDF
$pages = $pdf->getPages();
// Create a new PHPWord object
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add a section to the Word document
$section = $phpWord->addSection();
// Loop through each page of the PDF
foreach ($pages as $page) {
// Extract the text from the page
$text = $page->getText();
// Add the text to the Word document
$section->addText($text);
}
// Save the Word document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('output.docx');
echo "PDF content extracted and saved to Word successfully!";
Spatie PDF-to-Text + PHPWord (Конверсія на основі тексту)
Якщо ваші PDF‑файли містять переважно простий текст (без складних таблиць чи зображень), ви можете поєднати відкриті бібліотеки Spatie PDF-to-Text і PHPWord для легкого конвеєра конвертації.
Як це працює?
Це найпростіший метод, якщо у вас є доступ до Adobe Acrobat Pro.
Кроки:
- Спочатку вам потрібно використати Spatie\PdfToText API, який витягує простий текст з PDF‑файлів.
- Бібліотека PHPWord використовується для генерації Word‑документа з витягнутим вмістом.
- Найкраще підходить для PDF‑файлів лише з текстом без складного форматування.
Нижче наведено приклад коду, який показує, як витягнути текст з PDF‑файлу та потім створити Word‑документ з витягнутим вмістом за допомогою бібліотеки 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 через PHP (Відкритий Docker‑мікросервіс)
Gotenberg — це відкритий мікросервіс конвертації документів, який можна інтегрувати з PHP за допомогою HTTP‑запитів. Ідеально підходить для розробників, які віддають перевагу інструментам на базі Docker.
Як це працює?
- Gotenberg використовує LibreOffice у бекенді для конвертації PDF.
- Ви надсилаєте POST‑запит з PDF‑файлом.
- Сервер повертає 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 для PHP (Безкоштовний рівень)
Aspose.PDF Cloud PHP SDK надає потужний PHP SDK, який дозволяє розробникам конвертувати PDF‑файли у формат Word безпосередньо через їх хмарний API. Ви можете почати безкоштовно з обмеженою кількістю викликів API. Нижче простий приклад, який показує, як завантажити та конвертувати PDF‑файл у документи Microsoft Word DOCX за допомогою PHP‑команд.
use Aspose\Pdf\Cloud\PdfApi;
$pdfApi = new PdfApi('YOUR_APP_KEY', 'YOUR_APP_SID');
$pdfApi->putConvertDocument('sample.pdf', ['format' => 'docx']);
Підсумки
Конвертація PDF‑файлів у Word‑документи за допомогою PHP не обов’язково має бути складною чи дорогою. За допомогою правильних безкоштовних інструментів і бібліотек розробники можуть пропонувати користувачам безшовний експорт редагованих документів, підвищувати автоматизацію документів і підвищувати загальну продуктивність. Незалежно від того, чи ви віддаєте перевагу легким PHP‑обгорткам, чи потужним хмарним API, існує рішення, яке відповідає вашим потребам.
Питання та відповіді
Q: Чи можу я конвертувати PDF у Word у PHP без використання платних API?
A: Так, ви можете використовувати відкриті бібліотеки, такі як Spatie, PHPWord та LibreOffice CLI, безкоштовно.
Q: Чи підтримує конвертація PDF у Word з відкритим кодом зображення та форматування?
A: Базові інструменти їх не підтримують, але використання LibreOffice або Gotenberg зберігає макет і зображення.
Q: Чи можливо автоматизувати конвертацію PDF у DOCX у PHP‑веб‑додатках?
A: Абсолютно — ці бібліотеки можна інтегрувати в будь‑який PHP‑орієнтований робочий процес.