PDF به DOCX تبدیل سند در PHP یک نیاز مکرر است زمانی که به فایلهای Word قابل ویرایش از PDFهای فقط‑خواندنی نیاز دارید. GroupDocs.Conversion Cloud SDK for PHP یک کتابخانه قدرتمند فراهم میکند که این کار را با دقت بالا انجام میدهد. در این آموزش، کتابخانه را تنظیم میکنید، یک مثال کد دقیق را مرور میکنید و میبینید چگونه با cURL API REST را برای استقرار در ابر فراخوانی کنید. در پایان، آماده خواهید شد که تبدیل 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';
مرحله ۲: تنظیمات تبدیل را مقداردهی اولیه کنید
قالب خروجی و مسیر مقصد را تعریف کنید. کلاس 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);
مرحله ۴: بازیابی نتیجه
فایل 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، پخش (streaming) را فعال کنید. این کار سربار را کاهش داده و عملکرد تبدیل PDF به DOCX در PHP را افزایش میدهد.
آیا میتوانم از کتابخانه در یک کانتینر Docker برای میکروسرویس استفاده کنم؟
بله. مرحله نصب Composer را در Dockerfile خود گنجانده، اسکریپت PHP خود را کپی کنید و یک نقطه انتهایی که منطق تبدیل را فراخوانی میکند، در دسترس قرار دهید. این یک میکروسرویس قابل حمل تبدیل PDF به DOCX در PHP ایجاد میکند.
آیا بسته Composer برای این عملکرد وجود دارد؟
کتابخانه از طریق Composer توزیع میشود. آن را با composer require groupdocs-conversion-cloud نصب کنید و بهروزرسانیها را از طریق composer.json خود مدیریت کنید.
