Kemas Kini Terakhir: 24 Jul, 2025

Tajuk - Bagaimana Saya Menukar PDF kepada Dokumen MS Word melalui API PHP?

Berkerja dengan PDF dalam aplikasi web telah menjadi keperluan umum merentasi pelbagai industri. Sama ada anda mengurus invois, kontrak, atau kandungan akademik, keupayaan untuk menukar dokumen PDF1 kepada format yang boleh disunting seperti Microsoft Word (DOCX) adalah penting. Mujurlah, dengan bantuan API PHP yang kuat dan percuma, pembangun dapat mengautomasi dan mempermudah proses ini dengan mudah.

Mengapa Menukar PDF kepada Word dalam PHP?

Fail PDF sangat baik untuk diedarkan kerana mereka mengekalkan susun atur dan reka bentuk. Walau bagaimanapun, mengeditnya tidak selalu mudah. Dokumen Word, sebaliknya, sangat boleh disunting, menjadikannya ideal untuk tugas yang memerlukan interaksi pengguna, kemas kini, atau kolaborasi. Penyelesaian berasaskan PHP membolehkan pembangun untuk:

  • Membolehkan penukaran PDF-ke-Word secara pukal di sisi pelayan
  • Mengintegrasikan aliran kerja penyuntingan dokumen dalam aplikasi web
  • Mengautomasi penjanaan laporan dan pemprosesan dokumen
  • Membenarkan pengguna akhir memuat turun versi yang boleh disunting bagi fail mereka

Berikut ialah beberapa API PHP percuma yang paling boleh dipercayai dan perpustakaan yang dapat membantu anda melakukan penukaran PDF-ke-Word dengan persediaan minimum.

PHPWord dengan Pengurai PDF

Untuk kawalan lebih ke atas proses penukaran, anda boleh menggabungkan kuasa PHPWord, sebuah perpustakaan untuk mencipta dan memanipulasi dokumen Word, dengan perpustakaan penguraian PDF.

Penjelasan Contoh Kod:

Contoh ini pertama kali menggunakan perpustakaan PDFParser untuk membaca PDF dan mengekstrak teks dari setiap halaman. Kemudian, ia menggunakan PHPWord untuk mencipta dokumen Word baru dan menambah teks yang diekstrak ke dalamnya. Kaedah ini memberi anda kawalan terperinci ke atas output, membolehkan anda memformat teks dan menambah elemen lain mengikut keperluan.

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 (Penukaran Berasaskan Teks)

Jika fail PDF anda kebanyakannya mengandungi teks biasa (bukan jadual atau imej yang kompleks), anda boleh menggabungkan perpustakaan sumber terbuka Spatie PDF-to-Text dan PHPWord untuk saluran penukaran yang ringan.

Bagaimana Ia Berfungsi?

Ini adalah kaedah paling mudah jika anda mempunyai akses kepada Adobe Acrobat Pro.

Langkah-langkah:

  1. Pertama, anda perlu menggunakan API Spatie\PdfToText, yang mengekstrak teks biasa daripada PDF.
  2. Perpustakaan PHPWord digunakan untuk menjana dokumen Word dengan kandungan yang diekstrak.
  3. Sesuai untuk PDF yang hanya mengandungi teks tanpa pemformatan yang rumit.

Berikut ialah contoh kod yang menunjukkan cara mengekstrak teks daripada fail PDF dan kemudian menjana dokumen Word dengan kandungan yang diekstrak menggunakan perpustakaan 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 melalui PHP (Mikroservis Docker Sumber Terbuka)

Gotenberg ialah mikroservis penukaran dokumen sumber terbuka yang boleh diintegrasikan dengan PHP menggunakan permintaan HTTP. Ia ideal untuk pembangun yang lebih suka alat berasaskan Docker.

Bagaimana Ia Berfungsi?

  • Gotenberg menggunakan LibreOffice di belakang tabir untuk menukar PDF.
  • Anda menghantar permintaan POST dengan fail PDF.
  • Pelayan mengembalikan dokumen 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 untuk PHP (Tahap Percuma)

Aspose.PDF Cloud PHP SDK menyediakan SDK PHP yang kuat yang membolehkan pembangun perisian menukar fail PDF kepada format Word secara langsung menggunakan API awan mereka. Anda boleh memulakan secara percuma dengan panggilan API terhad. Berikut ialah contoh ringkas yang menunjukkan bagaimana pembangun perisian boleh memuatkan dan menukar fail PDF menjadi dokumen Microsoft Word DOCX menggunakan arahan PHP.

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

Pemikiran Akhir

Menukar fail PDF kepada dokumen Word menggunakan PHP tidak perlu rumit atau mahal. Dengan alat dan perpustakaan percuma yang tepat, pembangun dapat menawarkan eksport dokumen yang lancar dan boleh disunting kepada pengguna, meningkatkan automasi dokumen, dan memperbaiki produktiviti keseluruhan. Sama ada anda lebih suka pembungkus PHP yang ringan atau API berasaskan awan yang kukuh, terdapat penyelesaian yang sesuai dengan keperluan anda.

Soalan Lazim

Q: Bolehkah saya menukar PDF kepada Word dalam PHP tanpa menggunakan API berbayar?
A: Ya, anda boleh menggunakan perpustakaan sumber terbuka seperti Spatie, PHPWord, dan LibreOffice CLI secara percuma.

Q: Adakah penukaran PDF kepada Word sumber terbuka menyokong imej dan pemformatan?
A: Alat asas tidak, tetapi menggunakan LibreOffice atau Gotenberg mengekalkan susun atur dan imej.

Q: Adakah mungkin mengautomasi penukaran PDF kepada DOCX dalam aplikasi web PHP?
A: Sudah tentu—perpustakaan ini boleh diintegrasikan ke dalam mana-mana aliran kerja berasaskan PHP.

Lihat Juga