Last Updated: 08 Oct, 2025

کار با PDFs در برنامههای وب به یک نیاز رایج در صنایع مختلف تبدیل شده است. چه در حال مدیریت فاکتورها، قراردادها یا محتوای دانشگاهی باشید، توانایی تبدیل اسناد PDF به فرمتهای قابل ویرایش مانند Microsoft Word (DOCX) ضروری است. خوشبختانه، با کمک APIهای قدرتمند و رایگان PHP، توسعهدهندگان میتوانند این فرآیند را به راحتی خودکار و ساده کنند.
چرا تبدیل PDF به Word در PHP؟
فایلهای PDF برای توزیع عالی هستند زیرا طرحبندی و طراحی را حفظ میکنند. با این حال، ویرایش آنها همیشه ساده نیست. از سوی دیگر، اسناد Word بسیار قابل ویرایش هستند و آنها را برای کارهایی که نیاز به تعامل با کاربر، بهروزرسانی یا همکاری دارند، ایدهآل میکند. یک راهکار مبتنی بر PHP به توسعهدهندگان اجازه میدهد تا:
- فعال کردن تبدیل دستهای PDF به Word در سمت سرور 3
- ادغام گردشهای کاری ویرایش اسناد در برنامههای وب
- خودکارسازی تولید گزارش و پردازش اسناد
- اجازه به کاربران نهایی برای دانلود نسخههای قابل ویرایش فایلهای خود
در اینجا برخی از قابل اعتمادترین و رایگانترین APIها و کتابخانههای PHP که میتوانند به شما در انجام تبدیل 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();
گوتنبرگ از طریق PHP (میکروسرویس متنباز داکر)
گوتنبرگ یک میکروسرویس تبدیل سند متنباز است که میتواند با استفاده از درخواستهای HTTP با PHP ادغام شود. این میکروسرویس برای توسعهدهندگانی که ابزارهای مبتنی بر داکر را ترجیح میدهند، ایدهآل است.
چگونه کار میکند؟
گوتنبرگ از LibreOffice در backend برای تبدیل فایلهای 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 یک SDK قدرتمند PHP ارائه میدهد که به توسعهدهندگان نرمافزار اجازه میدهد تا فایلهای PDF را مستقیماً با استفاده از API ابری خود به فرمت Word تبدیل کنند. شما میتوانید به صورت رایگان با فراخوانیهای API محدود شروع کنید. در اینجا یک مثال ساده وجود دارد که نشان میدهد چگونه توسعهدهندگان نرمافزار میتوانند با استفاده از دستورات PHP، یک فایل PDF را بارگیری و به اسناد Microsoft Word DOCX تبدیل کنند.
مثال کد:
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های قوی مبتنی بر ابر، راهحلی متناسب با نیازهای شما وجود دارد.
سوالات متداول
سؤال: آیا میتوانم بدون استفاده از APIهای پولی، PDF را در PHP به Word تبدیل کنم؟
پاسخ: بله، میتوانید از کتابخانههای متنباز مانند Spatie، PHPWord و LibreOffice CLI به صورت رایگان استفاده کنید.
سؤال: آیا تبدیل PDF به Word متنباز از تصاویر و قالببندی پشتیبانی میکند؟
پاسخ: ابزارهای پایه این قابلیت را ندارند، اما استفاده از LibreOffice یا Gotenberg طرحبندی و تصاویر را حفظ میکند.
سؤال: آیا امکان خودکارسازی تبدیل PDF به DOCX در برنامههای وب PHP وجود دارد؟
پاسخ: کاملاً - این کتابخانهها میتوانند در هر گردش کار مبتنی بر PHP ادغام شوند.