עדכון אחרון: 24 Jul, 2025

עבודה עם קבצי PDF ביישומי אינטרנט הפכה לדרישה נפוצה במגוון תעשיות. בין אם אתם מנהלים חשבוניות, חוזים או תוכן אקדמי, היכולת להמיר מסמכי PDF לפורמטים ניתנים לעריכה כמו Microsoft Word (DOCX) היא חיונית. למזלנו, בעזרת API‑ים חזקים וחינמיים של PHP, מפתחים יכולים לאוטומט ולייעל תהליך זה בקלות.
למה להמיר PDF ל‑Word ב‑PHP?
קבצי PDF מצוינים להפצה מכיוון שהם שומרים על פריסה ועיצוב. עם זאת, עריכתם אינו תמיד פשוט. לעומת זאת, מסמכי Word ניתנים לעריכה ברמה גבוהה, מה שהופך אותם לאידיאליים למשימות הדורשות אינטראקציה עם משתמש, עדכונים או שיתוף פעולה. פתרון מבוסס PHP מאפשר למפתחים:
- הפעלת המרת PDF‑ל‑Word במצב אצווה בצד השרת
- שילוב תהליכי עריכת מסמכים באפליקציות אינטרנט
- אוטומציה של יצירת דוחות ועיבוד מסמכים
- לאפשר למשתמשי הקצה להוריד גרסאות ניתנות לעריכה של הקבצים שלהם
PHPWord עם מפענח PDF
לקבלת שליטה רבה יותר בתהליך ההמרה, ניתן לשלב את העוצמה של PHPWord, ספרייה ליצירה ולניהול מסמכי Word, עם ספריית פענוח PDF.
הסבר על דוגמת הקוד:
דוגמה זו משתמשת תחילה בספריית PDFParser לקריאת קובץ ה‑PDF ולחילוץ הטקסט מכל עמוד. לאחר מכן, היא משתמשת ב‑PHPWord ליצירת מסמך Word חדש ולהוספת הטקסט שחולץ אליו. שיטה זו מעניקה שליטה מדויקת על הפלט, מאפשרת לעצב את הטקסט ולהוסיף אלמנטים נוספים לפי הצורך.
require_once 'vendor/autoload.php';
// Create a new PDF parser object
$parser = new \Smalot\PdfParser\Parser();
// Parse the PDF file
$pdf = $parser->parseFile('path/to/your/document.pdf');
// Retrieve all pages from the PDF
$pages = $pdf->getPages();
// Create a new PHPWord object
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Add a section to the Word document
$section = $phpWord->addSection();
// Loop through each page of the PDF
foreach ($pages as $page) {
// Extract the text from the page
$text = $page->getText();
// Add the text to the Word document
$section->addText($text);
}
// Save the Word document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2008');
$objWriter->save('output.docx');
echo "PDF content extracted and saved to Word successfully!";
Spatie PDF-to-Text + PHPWord (המרה מבוססת טקסט)
אם קבצי ה‑PDF שלכם מכילים בעיקר טקסט פשוט (ולא טבלאות מורכבות או תמונות), ניתן לשלב את הספריות בקוד פתוח Spatie PDF-to-Text ו‑PHPWord לצינור המרה קל משקל.
איך זה עובד?
זוהי השיטה הפשוטה ביותר אם יש לכם גישה ל‑Adobe Acrobat Pro.
שלבים:
- ראשית, עליכם להשתמש ב‑Spatie\PdfToText API, שמוציא טקסט פשוט מ‑PDFs.
- ספריית PHPWord משמשת ליצירת מסמך Word עם התוכן שחולץ.
- מתאימה ביותר ל‑PDFs המכילים רק טקסט ללא עיצוב מורכב.
להלן דוגמת קוד שמראה כיצד לחלץ טקסט מקובץ 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();
Gotenberg באמצעות PHP (מיקרו‑שירות Docker בקוד פתוח)
Gotenberg הוא מיקרו‑שירות קוד פתוח להמרת מסמכים שניתן לשלב עם PHP באמצעות בקשות HTTP. הוא אידיאלי למפתחים שמעדיפים כלים מבוססי Docker.
איך זה עובד?
- Gotenberg משתמש ב‑LibreOffice בצד השרת כדי להמיר 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 לפורמט Word ישירות באמצעות ה‑API בענן שלהם. ניתן להתחיל בחינם עם מספר מוגבל של קריאות API. הנה דוגמה פשוטה שמראה כיצד מפתחים יכולים לטעון ולהמיר קובץ 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 קלות משקל או API‑ים מבוססי ענן חזקים, יש פתרון המתאים לצרכיכם.
שאלות נפוצות
ש: האם ניתן להמיר PDF ל‑Word ב‑PHP ללא שימוש ב‑API‑ים בתשלום?
ת: כן, ניתן להשתמש בספריות קוד פתוח כמו Spatie, PHPWord, ו‑LibreOffice CLI בחינם.
ש: האם המרת PDF ל‑Word בקוד פתוח תומכת בתמונות ובעיצוב?
ת: כלי בסיסיים אינם תומכים, אך שימוש ב‑LibreOffice או Gotenberg משמרים את הפריסה והתמונות.
ש: האם ניתן לאוטומט המרת PDF ל‑DOCX ביישומי PHP באינטרנט?
ת: בהחלט—ניתן לשלב ספריות אלו בכל זרימת עבודה מבוססת PHP.