Poslední aktualizace: 24 Jul, 2025

Práce s PDF soubory ve webových aplikacích se stala běžnou požadavkem napříč odvětvími. Ať už spravujete faktury, smlouvy nebo akademický obsah, schopnost převést PDF dokumenty do editovatelných formátů, jako je Microsoft Word (DOCX), je nezbytná. Naštěstí s pomocí výkonných a bezplatných PHP API mohou vývojáři tento proces automatizovat a zjednodušit.
Proč převádět PDF na Word v PHP?
PDF soubory jsou vynikající pro distribuci, protože zachovávají rozvržení a design. Nicméně jejich úprava není vždy jednoduchá. Dokumenty Word jsou naopak vysoce editovatelné, což je činí ideálními pro úkoly vyžadující interakci uživatele, aktualizace nebo spolupráci. Řešení založené na PHP umožňuje vývojářům:
- Umožnit hromadnou konverzi PDF‑na‑Word konverze3
- Integrovat pracovní postupy úpravy dokumentů ve webových aplikacích
- Automatizovat generování reportů a zpracování dokumentů
- Umožnit koncovým uživatelům stáhnout editovatelné verze jejich souborů
PHPWord s PDF parserem
Pro větší kontrolu nad procesem konverze můžete kombinovat sílu PHPWord, knihovny pro vytváření a manipulaci s dokumenty Word, s knihovnou pro parsování PDF.
Vysvětlení příkladu kódu:
V tomto příkladu se nejprve používá knihovna PDFParser k načtení PDF a extrakci textu z každé stránky. Poté se použije PHPWord k vytvoření nového dokumentu Word a přidání extrahovaného textu. Tato metoda vám poskytuje detailní kontrolu nad výstupem, umožňuje formátovat text a přidávat další prvky podle potřeby.
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 (Konverze založená na textu)
Pokud vaše PDF soubory obsahují převážně prostý text (ne složité tabulky ani obrázky), můžete kombinovat open source knihovny Spatie PDF-to-Text a PHPWord pro lehkou konverzní pipeline.
Jak to funguje?
Toto je nejužší metoda, pokud máte přístup k Adobe Acrobat Pro.
Kroky:
- Nejprve musíte použít Spatie\PdfToText API, které extrahuje prostý text z PDF.
- Knihovna PHPWord se používá k vytvoření dokumentu Word s extrahovaným obsahem.
- Nejvhodnější pro PDF pouze s textem bez složitého formátování.
Zde je příklad kódu, který ukazuje, jak extrahovat text z PDF souboru a poté pomocí knihovny PHPWord vytvořit dokument Word s extrahovaným obsahem.
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 přes PHP (Open Source Docker mikroservis)
Gotenberg je open source mikroservis pro konverzi dokumentů, který lze integrovat s PHP pomocí HTTP požadavků. Je ideální pro vývojáře, kteří upřednostňují nástroje založené na Dockeru.
Jak to funguje?
- Gotenberg používá LibreOffice v backendu k konverzi PDF.
- Pošlete POST požadavek s PDF souborem.
- Server vrátí DOCX dokument.
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 pro PHP (bezplatná úroveň)
Aspose.PDF Cloud PHP SDK poskytuje výkonné PHP SDK, které umožňuje vývojářům softwaru převádět PDF soubory do formátu Word přímo pomocí jejich cloudového API. Můžete začít zdarma s omezeným počtem API volání. Zde je jednoduchý příklad, který ukazuje, jak vývojáři mohou načíst a převést PDF soubor do dokumentů Microsoft Word DOCX pomocí PHP příkazů.
use Aspose\Pdf\Cloud\PdfApi;
$pdfApi = new PdfApi('YOUR_APP_KEY', 'YOUR_APP_SID');
$pdfApi->putConvertDocument('sample.pdf', ['format' => 'docx']);
Závěrečné úvahy
Převod PDF souborů na dokumenty Word pomocí PHP nemusí být složitý ani drahý. S vhodnými bezplatnými nástroji a knihovnami mohou vývojáři nabídnout uživatelům plynulé, editovatelné exporty dokumentů, zvýšit automatizaci dokumentů a zlepšit celkovou produktivitu. Ať už preferujete lehké PHP obaly nebo robustní cloudové API, existuje řešení, které vyhovuje vašim potřebám.
Často kladené otázky
Q: Mohu převést PDF na Word v PHP bez placených API?
O: Ano, můžete použít open source knihovny jako Spatie, PHPWord a LibreOffice CLI zdarma.
Q: Podporuje open source převod PDF na Word obrázky a formátování?
O: Základní nástroje ne, ale použití LibreOffice nebo Gotenberg zachovává rozvržení a obrázky.
Q: Je možné automatizovat převod PDF na DOCX v PHP webových aplikacích?
O: Rozhodně—tyto knihovny lze integrovat do jakéhokoli workflow založeného na PHP.