Last Updated: 08 Oct, 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';
// Создать новый объект парсера 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-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, у нас найдётся решение, отвечающее вашим потребностям.
FAQ
В: Можно ли конвертировать PDF в Word в PHP без использования платных API?
О: Да, вы можете бесплатно использовать библиотеки с открытым исходным кодом, такие как Spatie, PHPWord и LibreOffice CLI.
В: Поддерживает ли конвертация PDF в Word из открытых исходных кодов изображения и форматирование?
О: Базовые инструменты не поддерживают, но использование LibreOffice или Gotenberg сохраняет макет и изображения.
В: Можно ли автоматизировать конвертацию PDF в DOCX в веб-приложениях на PHP?
О: Безусловно — эти библиотеки можно интегрировать в любой рабочий процесс на основе PHP.