Last Updated: 08 Oct, 2025

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

การทำงานกับ PDFs ในเว็บแอปพลิเคชันกลายเป็นข้อกำหนดทั่วไปในทุกอุตสาหกรรม ไม่ว่าคุณจะจัดการใบแจ้งหนี้ สัญญา หรือเนื้อหาทางวิชาการ ความสามารถในการแปลงเอกสาร PDF เป็นรูปแบบที่แก้ไขได้ เช่น Microsoft Word (DOCX) ถือเป็นสิ่งสำคัญ โชคดีที่ด้วย PHP API ที่ทรงพลังและฟรี นักพัฒนาสามารถทำให้กระบวนการนี้เป็นระบบอัตโนมัติและคล่องตัวได้อย่างง่ายดาย

ทำไมต้องแปลง PDF เป็น Word ใน PHP?

ไฟล์ PDF เหมาะอย่างยิ่งสำหรับการแจกจ่าย เพราะยังคงรักษาเค้าโครงและดีไซน์ไว้ อย่างไรก็ตาม การแก้ไขไฟล์ไม่ได้ง่ายเสมอไป ในทางกลับกัน เอกสาร Word สามารถแก้ไขได้ง่าย จึงเหมาะสำหรับงานที่ต้องมีปฏิสัมพันธ์กับผู้ใช้ อัปเดต หรือทำงานร่วมกัน โซลูชันที่ใช้ PHP ช่วยให้นักพัฒนาสามารถ:

  • เปิดใช้งานการแปลงไฟล์ PDF เป็น Word แบบกลุ่มฝั่งเซิร์ฟเวอร์ [**3]
  • ผสานรวม เวิร์กโฟลว์การแก้ไขเอกสาร เข้ากับเว็บแอป
  • สร้าง รายงาน และประมวลผลเอกสารโดยอัตโนมัติ
  • อนุญาตให้ผู้ใช้ดาวน์โหลดไฟล์ที่แก้ไขได้

นี่คือ API และไลบรารี PHP ที่เชื่อถือได้และฟรีที่สุด ซึ่งสามารถช่วยคุณแปลงไฟล์ PDF เป็น Word ด้วยการตั้งค่าที่น้อยที่สุด

PHPWord พร้อม PDF Parser

เพื่อการควบคุมกระบวนการแปลงไฟล์ที่มากขึ้น คุณสามารถผสานรวมประสิทธิภาพของ PHPWord ซึ่งเป็นไลบรารีสำหรับการสร้างและจัดการเอกสาร Word เข้ากับ PDF parsing library

คำอธิบายตัวอย่างโค้ด:

ตัวอย่างนี้ใช้ไลบรารี 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

ขั้นตอน:

  1. ก่อนอื่นคุณต้องใช้ Spatie\PdfToText API ซึ่งจะดึงข้อความธรรมดาจากไฟล์ PDF
  2. ไลบรารี PHPWord ใช้เพื่อสร้างเอกสาร Word ที่มีเนื้อหาที่ดึงออกมา
  3. เหมาะที่สุดสำหรับ ไฟล์ 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();

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 มอบ PHP SDK อันทรงพลังที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถ แปลงไฟล์ PDF เป็นรูปแบบ Word ได้โดยตรงโดยใช้ Cloud API คุณสามารถ เริ่มต้นใช้งานได้ฟรี โดยมีการเรียกใช้ API ที่จำกัด นี่คือตัวอย่างง่ายๆ ที่แสดงให้เห็นว่านักพัฒนาซอฟต์แวร์สามารถโหลดและแปลงไฟล์ PDF เป็นเอกสาร Microsoft Word DOCX โดยใช้คำสั่ง PHP ได้อย่างไร

Code Example:

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

ความคิดเห็นสุดท้าย

การแปลงไฟล์ PDF เป็นเอกสาร Word โดยใช้ PHP ไม่จำเป็นต้องซับซ้อนหรือมีค่าใช้จ่ายสูง ด้วยเครื่องมือและไลบรารีฟรีที่เหมาะสม นักพัฒนาสามารถนำเสนอการส่งออกเอกสารที่ราบรื่นและแก้ไขได้ให้กับผู้ใช้ เพิ่มประสิทธิภาพการทำงานอัตโนมัติของเอกสาร และเพิ่มประสิทธิภาพการทำงานโดยรวม ไม่ว่าคุณจะชอบ PHP Wrapper น้ำหนักเบาหรือ API บนคลาวด์ที่แข็งแกร่ง ก็มีโซลูชันที่ตรงกับความต้องการของคุณ

คำถามที่พบบ่อย

ถาม: ฉันสามารถแปลง PDF เป็น Word ใน PHP โดยไม่ต้องใช้ API แบบชำระเงินได้หรือไม่

ตอบ: ได้ คุณสามารถใช้ไลบรารีโอเพนซอร์สเช่น Spatie, PHPWord และ LibreOffice CLI ได้ฟรี

ถาม: การแปลง PDF เป็น Word แบบโอเพนซอร์สรองรับรูปภาพและการจัดรูปแบบหรือไม่

ตอบ: เครื่องมือพื้นฐานไม่รองรับ แต่การใช้ LibreOffice หรือ Gotenberg จะรักษาเค้าโครงและรูปภาพไว้

ถาม: สามารถทำการแปลง PDF เป็น DOCX อัตโนมัติในแอปพลิเคชันเว็บ PHP ได้หรือไม่

ตอบ: ได้แน่นอน — ไลบรารีเหล่านี้สามารถผสานรวมเข้ากับเวิร์กโฟลว์ที่ใช้ PHP ได้

ดูเพิ่มเติม