Преобразование файлов DOCX в Markdown часто требуется разработчикам, которым нужна легковесная документация, удобная для систем контроля версий. Aspose.HTML Cloud SDK for PHP позволяет выполнить конвертацию DOCX в MD с помощью PHP всего несколькими вызовами API. В этом руководстве мы рассмотрим необходимую настройку, продемонстрируем полный пример кода и покажем, как точно настроить вывод для получения чистого Markdown. Вы также увидите, как вызвать ту же конверсию через REST с использованием cURL для облачных сценариев.
Шаги конвертации DOCX в MD в PHP
- Получить токен доступа - Используйте ваш Aspose Cloud client ID и secret для запроса временного токена доступа через OAuth endpoint.
- Загрузить исходный DOCX - Либо загрузите файл в Aspose storage с помощью метода
UploadFile, либо укажите публично доступный URL. - Создать запрос конвертации - Создайте объект
ConvertDocumentRequest, установитеformatвmdи при необходимости укажите параметры конвертации. - Выполнить конвертацию - Вызовите метод
ConvertDocumentкласса HtmlApi (API reference). - Скачать Markdown - Получите полученный файл
.mdиз потока ответа и сохраните его локально или обработайте дальше.
Скрипт конвертации DOCX в MD на PHP — полный пример кода
Следующий скрипт демонстрирует полную сквозную конвертацию с использованием Aspose.HTML Cloud SDK for PHP.
<?php
require 'vendor/autoload.php';
use Aspose\HTML\Cloud\Sdk\Api\HtmlApi;
use Aspose\HTML\Cloud\Sdk\Configuration;
use Aspose\HTML\Cloud\Sdk\Model\ConvertDocumentRequest;
// ---------------------------------------------------------------------
// 1. Configure SDK with your client credentials
// ---------------------------------------------------------------------
$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');
// ---------------------------------------------------------------------
// 2. Initialize HtmlApi
// ---------------------------------------------------------------------
$htmlApi = new HtmlApi($config);
// ---------------------------------------------------------------------
// 3. Prepare conversion request
// ---------------------------------------------------------------------
$inputFile = 'sample.docx'; // Path to your DOCX file
$outputFormat = 'md'; // Target format
$request = new ConvertDocumentRequest($inputFile, $outputFormat);
// ---------------------------------------------------------------------
// 4. Perform conversion
// ---------------------------------------------------------------------
try {
$response = $htmlApi->convertDocument($request);
$markdown = $response->getBody()->getContents();
// -----------------------------------------------------------------
// 5. Save the Markdown output
// -----------------------------------------------------------------
file_put_contents('output.md', $markdown);
echo "Conversion successful. Markdown saved to output.md\n";
} catch (Exception $e) {
echo "Error during conversion: " . $e->getMessage() . "\n";
}
?>
Примечание: Этот пример кода демонстрирует базовый функционал. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
sample.docx,output.md), проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если возникнут какие‑либо проблемы, обратитесь к официальной документации или свяжитесь с службой поддержки для получения помощи.
Конвертация DOCX в Markdown в облаке через REST API с использованием cURL
Вы можете получить тот же результат без использования SDK, вызывая REST‑конечные точки Aspose.HTML Cloud напрямую.
- Аутентификация и получение токена доступа
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Upload the Source File (if not using a public URL)
curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
--data-binary "@sample.docx"
- Выполнить преобразование
curl -X POST "https://api.aspose.cloud/v4.0/html/convert/md" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"sample.docx","outputPath":"output.md"}'
- Скачать Markdown‑вывод
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.md" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" -o output.md
Для получения более подробной информации о параметрах запроса см. официальную документацию API.
Установка и настройка в PHP
- Установите SDK через Composer
composer require aspose-html-cloud - Скачайте последнюю версию, если предпочитаете ручную установку: Скачать пакет.
- Настройте учетные данные — задайте
client_idиclient_secretв объектеConfiguration(см. пример кода). - Проверьте установку, запустив простой скрипт
php -r "echo phpinfo();"чтобы убедиться, что автозагрузчик работает. - Примените временную лицензию для тестирования: посетите страницу страница временной лицензии и следуйте инструкциям.
Преобразование DOCX в MD в PHP с Aspose.HTML
Aspose.HTML предоставляет облачный движок преобразования, который понимает полную спецификацию DOCX, включая сложные макеты, таблицы и встроенные изображения. Отправляя документ в сервис, вы переносите обработку на масштабируемый бекенд, устраняя необходимость в тяжёлых локальных библиотеках.
Aspose.HTML Features
- High‑Fidelity Rendering - Сохраняет стили, таблицы и изображения при конвертации в Markdown.
- Multiple Output Formats - Поддерживает HTML, PDF, PNG, JPEG, и Markdown (MD).
- Cloud‑Native Architecture - Автоматически масштабируется и работает за брандмауэрами через HTTPS.
- Extensive API - Предоставляет детальный контроль над параметрами конвертации через REST и SDKs.
Настройка параметров конвертации для оптимального вывода в Markdown
ConvertDocumentRequest позволяет точно настроить результат в формате Markdown:
| Option | Description |
|---|---|
preserveTableStructure |
Сохранять строки и столбцы таблицы без изменений (по умолчанию: true). |
includeImages |
Встраивать изображения как строки base64 или сохранять их как внешние файлы. |
headingLevelOffset |
Корректировать уровни заголовков в соответствии с иерархией вашей документации. |
removeStyles |
Удалять встроенный CSS для более чистого вывода в виде простого текста. |
Установите эти параметры через модель запроса перед вызовом convertDocument.
Оптимизация производительности конвертации
- Пакетная обработка нескольких файлов – Загрузите несколько файлов DOCX и конвертируйте их одним вызовом API, чтобы уменьшить задержку кругового обмена.
- Повторное использование токенов доступа – Токены действуют в течение часа; кэшируйте их вместо запроса нового токена для каждого файла.
- Сжатие входных файлов – Меньший объём данных ускоряет загрузку и обработку.
- Параллельные запросы – Для больших нагрузок отправляйте параллельные запросы конвертации, соблюдая ограничения скорости сервиса.
Лучшие практики конвертации DOCX в MD
- Validate Input - Убедитесь, что файл DOCX не повреждён перед загрузкой.
- Sanitize Markdown - После конвертации запустите линтер, чтобы исправить любые особенности форматирования.
- Store Results Securely - Сохраните сгенерированные файлы
.mdв репозитории с контролем версий. - Monitor API Usage - Отслеживайте количество запросов и время отклика через панель управления Aspose Cloud, чтобы избежать ограничения скорости.
Заключение
Используя Aspose.HTML Cloud SDK for PHP, вы можете надёжно конвертировать файлы DOCX в Markdown с минимальным объёмом кода. SDK обрабатывает сложные макеты, сохраняет важное форматирование и предлагает настраиваемые параметры для получения чистого MD‑вывода. Для развертывания в продакшене приобретите полную лицензию в магазине Aspose; временная лицензия доступна для оценки через страницу temporary license page. Интегрируйте предоставленный образец кода в ваш рабочий процесс и наслаждайтесь бесшовным преобразованием документов в ваших PHP‑приложениях.
Часто задаваемые вопросы
Как обрабатывать большие файлы DOCX при конвертации?
Сначала загрузите файл в хранилище Aspose, затем запустите конвертацию. Облачный сервис эффективно обрабатывает большие файлы, и вы можете отслеживать прогресс через API.
Могу ли я конвертировать несколько файлов DOCX в Markdown за один запрос?
Да. Используйте конечную точку пакетного преобразования или выполните цикл по файлам с помощью SDK, повторно используя тот же токен доступа для повышения производительности.
Что если мне нужно сохранять изображения встроенными вместо внешних файлов?
Установите параметр includeImages в true и выберите режим embedImages. SDK встроит изображения в виде строк base64 непосредственно в Markdown.
Совместим ли SDK с PHP 8.x?
Aspose.HTML Cloud SDK for PHP поддерживает PHP 7.4 и новее, включая PHP 8.x. Убедитесь, что у вас включены необходимые расширения (cURL, JSON) включены.