تبدیل اسناد Word غنی به HTML آماده برای وب یک نیاز مکرر برای برنامه‌های مدرن PHP است.
GroupDocs.Conversion Cloud SDK for PHP یک API قدرتمند فراهم می‌کند که بار سنگین را در ابر مدیریت می‌کند.
در این آموزش ما تبدیل DOCX به HTML را در PHP با استفاده از SDK نشان می‌دهیم.
شما یاد خواهید گرفت چگونه کتابخانه را تنظیم کنید، یک مثال کامل کد را اجرا کنید، و همان تبدیل را با فراخوانی‌های cURL انجام دهید.

نحوه تبدیل DOCX به HTML در PHP - گام به گام

  1. نصب SDK از طریق Composer: کتابخانه را با دستور رسمی Composer به پروژه خود اضافه کنید.
composer require groupdocs-conversion-cloud
  1. پیکربندی را مقداردهی اولیه کنید: یک شیء Configuration ایجاد کنید و برنامه SID و کلید برنامه خود را تنظیم کنید.
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. پیکربندی گزینه‌های تبدیل HTML: تنظیماتی مانند استخراج تصویر و مدیریت شماره صفحات را تنظیم کنید.
$htmlOptions = new GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions();
$htmlOptions->setExtractImages(true);
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
  1. ایجاد تنظیمات تبدیل: فایل منبع، فرمت هدف را تعریف کنید و گزینه‌های HTML را پیوست کنید.
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
  1. اجرای تبدیل: متد convertDocument را فراخوانی کنید و نتیجه را مدیریت کنید.
$convertApi = new GroupDocs\Conversion\Cloud\Api\ConvertApi($config);
try {
    $result = $convertApi->convertDocument($convertSettings);
    echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}

برای جزئیات بیشتر در مورد هر کلاس و متد، به مرجع API مراجعه کنید.

مثال کامل کد: تولید HTML از DOCX در PHP

مثال زیر یک تبدیل کامل انتها به انتها با استفاده از SDK را نشان می‌دهد.

<?php
require __DIR__ . '/vendor/autoload.php';

use GroupDocs\Conversion\Cloud\Configuration;
use GroupDocs\Conversion\Cloud\Api\ConvertApi;
use GroupDocs\Conversion\Cloud\Model\ConvertSettings;
use GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions;

$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');

$convertApi = new ConvertApi($config);

$inputFilePath  = 'sample.docx';
$outputFilePath = 'output.html';

$htmlOptions = new HtmlConvertOptions();
$htmlOptions->setExtractImages(true);               // extract images to separate files
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);                  // generate plain HTML, not a zip archive
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);

$convertSettings = new ConvertSettings();
$convertSettings->setFilePath($inputFilePath);
$convertSettings->setOutputPath($outputFilePath);
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);

try {
    $result = $convertApi->convertDocument($convertSettings);
    echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. پیش از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل (sample.docx, output.html) را به مکان‌های واقعی خود به‌روز کنید، بررسی کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه نمایید.

تبدیل فایل‌های DOCX به HTML با استفاده از cURL و REST API

SDK همچنین یک نقطه انتهایی REST ارائه می‌دهد که می‌توان با cURL فراخوانی کرد. در زیر جریان کاری معمولی آورده شده است.

  1. دریافت توکن دسترسی
    YOUR_CLIENT_ID و YOUR_CLIENT_SECRET را با اعتبارهای خود جایگزین کنید.

    curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
         -H "Content-Type: application/json" \
         -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
    
  2. بارگذاری فایل DOCX
    از توکن مرحلهٔ قبلی استفاده کنید.

    curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/storage/file/sample.docx" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@sample.docx"
    
  3. شروع تبدیل
    درخواست تبدیل به HTML.

curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "filePath": "sample.docx",
           "outputPath": "output.html",
           "format": "html",
           "options": {
               "extractImages": true,
               "zipOutput": false
           }
         }'
  1. دانلود HTML تولید شده
    curl -X GET "https://api.groupdocs.cloud/v2.0/conversion/storage/file/output.html" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.html
    

برای دریافت فهرست کامل پارامترها، به مستندات رسمی API مراجعه کنید.

نصب و پیکربندی GroupDocs.Conversion Cloud SDK برای PHP

composer require groupdocs-conversion-cloud

آخرین بسته را از صفحه انتشار دانلود کنید. SDK به PHP 7.4 یا بالاتر و یک حساب فعال GroupDocs Cloud با اعتبارهای معتبر نیاز دارد.

require __DIR__ . '/vendor/autoload.php';

use GroupDocs\Conversion\Cloud\Configuration;

$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');   // obtain from your GroupDocs Cloud dashboard
$config->setAppKey('YOUR_APP_KEY');

GroupDocs.Conversion Cloud SDK for PHP قابلیت‌ها برای DOCX به HTML

  • استخراج تصویر - extractImages به شما امکان می‌دهد تصاویر جاسازی‌شده را به فایل‌های جداگانه استخراج کنید و صحت چیدمان را حفظ کنید.
  • کنترل شماره صفحه - می‌توانید preserveOriginalPageNumbers را غیرفعال کنید تا یک جریان HTML پیوسته تولید شود.
  • خروجی HTML ساده - تنظیم zipOutput به مقدار false یک فایل HTML تک تولید می‌کند به جای یک آرشیو ZIP، که پردازش‌های بعدی را ساده می‌سازد.
  • مدیریت متن مخفی - showHiddenText تعیین می‌کند که آیا محتوای مخفی در HTML نهایی ظاهر شود یا نه.
  • رندر تک‑صفحه‌ای - renderToSinglePage می‌تواند تمام صفحات را در یک سند HTML ترکیب کند تا جاسازی آسان‌تر شود.

تمام ویژگی‌ها در مستندات توصیف شده‌اند.

نتیجه‌گیری

Converting DOCX to HTML در PHP به‌سادگی انجام می‌شود با GroupDocs.Conversion Cloud SDK for PHP. این کتابخانه قالب‌بندی‌های پیچیده، استخراج تصویر و مدیریت صفحه را بدون نیاز به Microsoft Office روی سرور مدیریت می‌کند. پس از دنبال کردن مراحل بالا، می‌توانید تبدیل DOCX به HTML را در هر جریان کاری مبتنی بر PHP یکپارچه کنید، چه ترجیح دهید از فراخوانی‌های بومی SDK استفاده کنید و چه درخواست‌های RESTful cURL. به‌یاد داشته باشید برای استفاده در محیط تولید، یک لایسنس مناسب تهیه کنید؛ جزئیات قیمت‌گذاری در temporary license page موجود است. امروز شروع به تبدیل کنید و محتوای غنی و آماده برای وب را به کاربران خود ارائه دهید.

پرسش‌های متداول

  • چگونه می‌توانم DOCX را به HTML در PHP تبدیل کنم بدون نصب نرم‌افزار اضافی؟
    SDK مبتنی بر ابر تمام پردازش‌ها را بر روی سرورهای GroupDocs انجام می‌دهد، بنابراین فقط به کتابخانه PHP و اعتبارنامه‌های خود نیاز دارید.

  • آیا می‌توانم چندین فایل DOCX را در یک درخواست واحد تبدیل کنم؟
    API تبدیل دسته‌ای را با حلقه‌زدن بر روی فایل‌ها در کد شما پشتیبانی می‌کند؛ هر فراخوانی نتیجه HTML خود را برمی‌گرداند.

  • چه اتفاقی برای تصاویر داخل فایل DOCX می‌افتد؟
    با فعال‌سازی extractImages، تصاویر به‌عنوان فایل‌های جداگانه ذخیره می‌شوند و در HTML تولید شده ارجاع داده می‌شوند، که امکان سرو مستقیم آن‌ها را فراهم می‌کند.

  • آیا راهی برای سفارشی‌سازی طرح‌بندی HTML تولید شده وجود دارد؟
    می‌توانید خروجی HTML را پس‌پردازش کنید یا گزینه‌های تبدیل مانند renderToSinglePage را تنظیم کنید تا بر ساختار تأثیر بگذارید.

بیشتر بخوانید