PDF в DOCX документ конверсия в PHP часто требуется, когда нужны редактируемые файлы Word из PDF только для чтения. GroupDocs.Conversion Cloud SDK for PHP предоставляет надёжную библиотеку, которая справляется с этой задачей с высокой точностью. В этом руководстве вы настроите библиотеку, пройдёте через подробный пример кода и узнаете, как вызвать REST API с помощью cURL для облачного развертывания. К концу вы будете готовы интегрировать преобразование PDF в DOCX в свои собственные PHP‑приложения.
Прежде чем начать: Предварительные требования и установка
Чтобы следовать этому руководству, вам потребуется:
- PHP 7.4 или выше, установленный на вашей машине разработки или сервере.
- Composer для управления зависимостями.
- Учётная запись GroupDocs Cloud (client ID и client secret) — вы можете создать её на портале GroupDocs.
- Достаточно места на диске для исходного PDF и полученного файла DOCX.
Установите библиотеку с помощью Composer:
composer require groupdocs-conversion-cloud
Скачайте последнюю версию пакета или просмотрите исходный код на GitHub: Скачать. После установки вы готовы приступить к написанию кода.
Конвертация PDF в DOCX в PHP — пошаговое построение
Ниже представлено краткое пошаговое руководство, показывающее каждую важную операцию. Полный исходный код будет приведён позже в разделе Полная реализация на PHP для конвертации документов в DOCX.
Шаг 1: Загрузите исходный PDF
Создайте экземпляр ConversionApi и укажите PDF, который вы хотите конвертировать.
use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
$config = new Configuration('YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET');
$api = new ConversionApi($config);
$sourcePath = 'input.pdf';
Шаг 2: Инициализация параметров конвертации
Определите формат вывода и путь назначения. Класс ConvertOptions позволяет точно настраивать ограничения памяти для больших PDF‑файлов, что улучшает производительность конвертации PDF в DOCX в PHP.
use GroupDocs\Conversion\Model\ConvertOptions;
$options = new ConvertOptions();
$options->setFilePath($sourcePath);
$options->setOutputPath('output.docx');
$options->setFormat('docx');
// Optional: $options->setMemoryLimit(1024); // in MB
Шаг 3: Выполнить конвертацию
Отправьте запрос в облачный сервис. Этот единственный вызов API выполняет всю тяжелую работу.
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;
$request = new ConvertDocumentRequest($options);
$api->convertDocument($request);
Шаг 4: Получить результат
Преобразованный файл DOCX сохранён по указанному вами пути. Теперь вы можете отдать его пользователю или сохранить для последующей обработки.
echo "Conversion completed. DOCX saved to output.docx";
Шаг 5: Очистка ресурсов
Уничтожьте экземпляр API, если вы выполняете множество конвертаций в цикле. Повторное использование того же экземпляра более эффективно для микросервиса конвертации PDF в DOCX на PHP.
unset($api);
Полная реализация на PHP для конвертации документов в DOCX
Следующий код объединяет все шаги в один, исполняемый скрипт.
<?php
require 'vendor/autoload.php';
use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
use GroupDocs\Conversion\Model\ConvertOptions;
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;
// ==== Configuration ====
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$config = new Configuration($clientId, $clientSecret);
$api = new ConversionApi($config);
// ==== Input / Output ====
$sourcePath = __DIR__ . '/input.pdf';
$outputPath = __DIR__ . '/output.docx';
// ==== Conversion Options ====
$options = new ConvertOptions();
$options->setFilePath($sourcePath);
$options->setOutputPath($outputPath);
$options->setFormat('docx');
// Example of performance tuning
$options->setMemoryLimit(1024); // 1 GB
// ==== Convert ====
$request = new ConvertDocumentRequest($options);
try {
$api->convertDocument($request);
echo "PDF successfully converted to DOCX. File saved at: $outputPath\n";
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . "\n";
}
// ==== Cleanup ====
unset($api);
?>
Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
input.pdf,output.docxи т.д.), чтобы они соответствовали вашим реальным расположениям файлов, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или зайдите на форум поддержки за помощью.
Выполнение конвертации документов через REST API с использованием cURL
Если вы предпочитаете взаимодействовать с сервисом напрямую, следующие команды cURL иллюстрируют полный рабочий процесс.
1. Аутентификация и получение токена доступа
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
2. Загрузка исходного PDF
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/path/to/input.pdf"
3. Запрос конвертации PDF в DOCX
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert?outputFormat=docx&outputPath=/output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"filePath":"/input.pdf"}'
4. Скачивание преобразованного DOCX
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=/output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.docx
Эти команды можно обернуть в простой PHP‑скрипт или использовать в CI‑конвейерах для инструмента командной строки преобразования PDF в DOCX на PHP. Для получения дополнительных сведений см. справка API.
Заключение
Интеграция преобразования PDF в DOCX в PHP проста с помощью GroupDocs.Conversion Cloud SDK for PHP. Вы узнали, как настроить библиотеку, выполнить пошаговое преобразование и вызвать ту же функциональность через REST‑запросы. Библиотека поддерживает как облачное развертывание, так и сценарии локального размещения, предоставляя гибкость для микросервисных архитектур или традиционных серверных установок. Не забудьте ознакомиться с вариантами ценообразования на странице продукта и получить временную лицензию со страницы временной лицензии перед переходом в продакшн. Удачной разработки!
Часто задаваемые вопросы
Как реализовать конвертацию PDF в DOCX в PHP в локальной среде?
Разверните библиотеку на собственном сервере, настройте идентификатор клиента и секрет, и запустите код конвертации локально. После аутентификации внешний сетевой трафик не требуется.
Как лучше всего улучшить скорость конвертации больших PDF?
Повторно используйте один экземпляр ConversionApi, увеличьте лимит памяти PHP и включите потоковую передачу, задав соответствующие параметры в ConvertOptions. Это уменьшит накладные расходы и повысит производительность конвертации PDF в DOCX в PHP.
Могу ли я использовать библиотеку в контейнере Docker для микросервиса?
Да. Включите шаг установки Composer в ваш Dockerfile, скопируйте ваш PHP‑скрипт и откройте конечную точку, которая вызывает логику конвертации. Это создаст переносимый микросервис конвертации PDF в DOCX на PHP.
Есть пакет Composer для этой функции?
Библиотека распространяется через Composer. Установите её с помощью composer require groupdocs-conversion-cloud и управляйте обновлениями через ваш composer.json.
