Последно актуализирано: 24 Jul, 2025

Заглавие - Как да конвертирам PDF към MS Word документи чрез PHP API-та?

Работата с PDF файлове в уеб приложения се превърна в често изискване в различни индустрии. Независимо дали управлявате фактури, договори или академично съдържание, възможността да конвертирате PDF документи в редактирани формати като Microsoft Word (DOCX) е от съществено значение. За щастие, с помощта на мощни и безплатни PHP API-та, разработчиците могат да автоматизират и опростят този процес с лекота.

Защо да конвертираме PDF към Word в PHP?

PDF файловете са отлични за разпространение, тъй като запазват оформлението и дизайна. Въпреки това, редактирането им не винаги е лесно. Word документите, от друга страна, са силно редактирани, което ги прави идеални за задачи, изискващи взаимодействие с потребителя, актуализации или сътрудничество. PHP‑базирано решение позволява на разработчиците да:

  • Активират пакетно конвертиране на PDF към Word на сървъра PDF-to-Word conversion
  • Интегрират работни потоци за редактиране на документи в уеб приложения
  • Автоматизират генериране на отчети и обработка на документи
  • Позволят на крайните потребители да изтеглят редактирани версии на техните файлове

Тук са някои от най‑надеждните и безплатни PHP API-та и библиотеки, които могат да ви помогнат да изпълните конверсия от 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, 'Word2007');
$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.

Стъпки:

  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 for PHP (Free Tier)

Aspose.PDF Cloud PHP SDK предоставя мощен PHP SDK, който позволява на софтуерните разработчици да конвертират 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‑та, има решение, което отговаря на вашите нужди.

FAQ

В: Мога ли да конвертирам PDF към Word в PHP без платени API‑та?
Отговор: Да, можете да използвате отворени библиотеки като Spatie, PHPWord и LibreOffice CLI безплатно.

В: Поддържа ли отвореното конвертиране от PDF към Word изображения и форматиране?
Отговор: Основните инструменти не поддържат, но използването на LibreOffice или Gotenberg запазва оформлението и изображенията.

В: Възможно ли е автоматизиране на конвертиране от PDF към DOCX в PHP уеб приложения?
Отговор: Абсолютно — тези библиотеки могат да се интегрират във всяка PHP‑базирана работна верига.

Вижте още