Title - How Do I Convert a PDF to MS Word Documents via PHP APIs?

أصبح استخدام ملفات PDF في تطبيقات الويب متطلبًا شائعًا في مختلف القطاعات. سواء كنت تُدير فواتير أو عقودًا أو محتوى أكاديميًا، فإن القدرة على تحويل مستندات PDF إلى صيغ قابلة للتعديل مثل Microsoft Word (DOCX) أمرٌ أساسي. لحسن الحظ، بفضل واجهات برمجة تطبيقات PHP القوية والمجانية، يُمكن للمطورين أتمتة هذه العملية وتبسيطها بسهولة.

لماذا تحويل PDF إلى Word في PHP؟

ملفات PDF ممتازة للتوزيع لأنها تحافظ على التنسيق والتصميم. مع ذلك، ليس من السهل دائمًا تحريرها. من ناحية أخرى، تتميز مستندات Word بسهولة التحرير، مما يجعلها مثالية للمهام التي تتطلب تفاعل المستخدم أو تحديثه أو تعاونه. يتيح الحل القائم على PHP للمطورين ما يلي:

  • تمكين الدفعات من جانب الخادم تحويل PDF إلى Word
  • دمج سير عمل تحرير المستندات في تطبيقات الويب
  • أتمتة إنشاء التقارير ومعالجة المستندات
  • السماح للمستخدمين بتنزيل نسخ قابلة للتعديل من ملفاتهم

فيما يلي بعض واجهات برمجة التطبيقات والمكتبات 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();
// أضف النص إلى مستند وورد
$section->addText($text);
}

// احفظ مستند وورد
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('output.docx');

echo "تم استخراج محتوى PDF وحفظه في وورد بنجاح!";

Spatie PDF-to-Text + PHPWord (تحويل نصي)

إذا كانت ملفات PDF لديك تحتوي بشكل أساسي على نص عادي (وليس جداول أو صورًا معقدة)، يمكنك دمج مكتبتي المصدر المفتوحتين Spatie PDF-to-Text وPHPWord لإنشاء خط تحويل سهل الاستخدام.

كيف يعمل؟

هذه هي الطريقة الأسهل إذا كان لديك برنامج Adobe Acrobat Pro.

الخطوات:

  1. أولاً، عليك استخدام واجهة برمجة تطبيقات Spatie\PdfToText، التي تستخرج النص العادي من ملفات PDF.

  2. تُستخدم مكتبة PHPWord لإنشاء مستند Word بالمحتوى المستخرج.

  3. الخيار الأمثل لملفات PDF النصية فقط دون الحاجة إلى تنسيق معقد.

فيما يلي مثال للكود يوضح كيفية استخراج النص من ملف PDF ثم إنشاء مستندات Word بالمحتويات المستخرجة باستخدام مكتبة PHPWord.

قارئ PDF = قارئ PDF جديد ("form.pdf");
تدفق إخراج الملف = تدفق إخراج الملف الجديد ("data.fdf");
كاتب Fdf = كاتب Fdf جديد (");
كاتب. setField ("name", "John Doe");
كاتب. اكتب إلى (خارج);
قارئ. إغلاق (");
خارج. إغلاق (");

غوتنبرغ عبر PHP (خدمة دوكر مجهرية مفتوحة المصدر)

غوتنبرغ هي خدمة مجهرية مفتوحة المصدر لتحويل المستندات، يمكن دمجها مع PHP باستخدام طلبات HTTP. وهي مثالية للمطورين الذين يفضلون الأدوات القائمة على دوكر.

كيف يعمل؟

  • يستخدم غوتنبرغ ليبر أوفيس في الواجهة الخلفية لتحويل ملفات PDF.
  • ترسل طلب POST مع ملف PDF.
  • يُرجع الخادم مستند DOCX.
مقتطف شيفرة (PHP + غوتنبرغ)

سحابة Aspose.PDF لـ PHP (المستوى المجاني)
$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 "تم التحويل عبر غوتنبرغ!";

Aspose.PDF Cloud لـ PHP (المستوى المجاني)

Aspose.PDF Cloud PHP SDK يوفر حزمة تطوير برامج PHP فعّالة تُمكّن مطوري البرامج من تحويل ملفات PDF إلى صيغة Word مباشرةً باستخدام واجهة برمجة التطبيقات السحابية. يمكنك البدء مجانًا مع عدد محدود من طلبات واجهة برمجة التطبيقات. إليك مثال بسيط يوضح كيفية تحميل وتحويل ملف PDF إلى مستندات Microsoft Word DOCX باستخدام أوامر PHP.

مثال على الكود:

use Aspose\Pdf\Cloud\PdfApi;
$pdfApi = new PdfApi('YOUR_APP_KEY', 'YOUR_APP_SID');
$pdfApi->putConvertDocument('sample.pdf', ['format' => 'docx']);

أفكار ختامية

تحويل ملفات PDF إلى مستندات Word باستخدام PHP ليس بالضرورة أمرًا معقدًا أو مكلفًا. باستخدام الأدوات والمكتبات المجانية المناسبة، يمكن للمطورين توفير عمليات تصدير سلسة وقابلة للتعديل للمستندات للمستخدمين، وتعزيز أتمتة المستندات، وتحسين الإنتاجية بشكل عام. سواء كنت تفضل استخدام واجهات برمجة تطبيقات PHP خفيفة الوزن أو واجهات برمجة تطبيقات سحابية قوية، ستجد لدينا الحل الأمثل الذي يناسب احتياجاتك.

الأسئلة الشائعة

س: هل يمكنني تحويل ملفات PDF إلى Word باستخدام PHP دون استخدام واجهات برمجة تطبيقات مدفوعة؟

ج: نعم، يمكنك استخدام مكتبات مفتوحة المصدر مثل Spatie وPHPWord وLibreOffice CLI مجانًا.

س: هل يدعم تحويل ملفات PDF إلى Word مفتوح المصدر الصور والتنسيق؟

ج: الأدوات الأساسية لا تدعم ذلك، ولكن استخدام LibreOffice أو Gotenberg يحافظ على التنسيق والصور.

س: هل من الممكن أتمتة تحويل ملفات PDF إلى DOCX في تطبيقات الويب PHP؟

ج: بالتأكيد - يمكن دمج هذه المكتبات في أي سير عمل قائم على PHP.

انظر أيضًا