Senast uppdaterad: 24 Jul, 2025

Titel - Hur konverterar jag en PDF till MS Word-dokument via PHP‑API:er?

Att arbeta med PDF-filer i webbapplikationer har blivit ett vanligt krav inom olika branscher. Oavsett om du hanterar fakturor, kontrakt eller akademiskt innehåll, är det viktigt att kunna konvertera PDF-dokument till redigerbara format som Microsoft Word (DOCX). Lyckligtvis kan utvecklare med hjälp av kraftfulla och gratis PHP‑API:er automatisera och förenkla denna process.

Varför konvertera PDF till Word i PHP?

PDF-filer är utmärkta för distribution eftersom de bevarar layout och design. Att redigera dem är dock inte alltid enkelt. Word-dokument, å andra sidan, är mycket redigerbara, vilket gör dem idealiska för uppgifter som kräver användarinteraktion, uppdateringar eller samarbete. En PHP‑baserad lösning låter utvecklare att:

  • Aktivera server‑sidig batch PDF‑till‑Word‑konvertering
  • Integrera dokumentredigeringsarbetsflöden i webbappar
  • Automatisera rapportgenerering och dokumentbehandling
  • Låta slutanvändare ladda ner redigerbara versioner av sina filer

Här är några av de mest pålitliga och gratis PHP‑API:erna och biblioteken som kan hjälpa dig att utföra PDF‑till‑Word‑konvertering med minimal konfiguration.

PHPWord med en PDF‑parser

För mer kontroll över konverteringsprocessen kan du kombinera kraften i PHPWord, ett bibliotek för att skapa och manipulera Word‑dokument, med ett PDF‑parsningsbibliotek.

Kodexempelförklaring:

Detta exempel använder först PDFParser‑biblioteket för att läsa PDF‑filen och extrahera texten från varje sida. Därefter använder det PHPWord för att skapa ett nytt Word‑document och lägga till den extraherade texten. Denna metod ger dig fin‑granulär kontroll över resultatet, så att du kan formatera texten och lägga till andra element efter behov.

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‑till‑Text + PHPWord (Textbaserad konvertering)

Om dina PDF‑filer huvudsakligen innehåller vanlig text (inte komplexa tabeller eller bilder), kan du kombinera de öppna källkods‑biblioteken Spatie PDF‑till‑Text och PHPWord för en lättviktig konverteringspipeline.

Så fungerar det?

Detta är den mest enkla metoden om du har tillgång till Adobe Acrobat Pro.

Steg:

  1. Först måste du använda Spatie\PdfToText‑API, som extraherar vanlig text från PDF‑filer.
  2. PHPWord‑biblioteket används för att generera ett Word‑dokument med det extraherade innehållet.
  3. Bäst lämpad för endast‑text‑PDF‑filer utan komplicerad formatering.

Här är ett kodexempel som visar hur man extraherar text från en PDF‑fil och sedan genererar ett Word‑dokument med det extraherade innehållet med hjälp av PHPWord‑biblioteket.

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 via PHP (Öppen källkod Docker‑mikrotjänst)

Gotenberg är en öppen källkod dokumentkonverterings‑mikrotjänst som kan integreras med PHP via HTTP‑förfrågningar. Den är idealisk för utvecklare som föredrar Docker‑baserade verktyg.

Hur det fungerar?

  • Gotenberg använder LibreOffice i bakgrunden för att konvertera PDF‑filer.
  • Du skickar en POST‑förfrågan med PDF‑filen.
  • Servern returnerar DOCX‑dokumentet.
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 för PHP (Gratis nivå)

Aspose.PDF Cloud PHP SDK erbjuder ett kraftfullt PHP‑SDK som låter mjukvaruutvecklare att konvertera PDF‑filer till Word‑format direkt via deras moln‑API. Du kan komma igång gratis med begränsade API‑anrop. Här är ett enkelt exempel som visar hur utvecklare kan ladda och konvertera en PDF‑fil till Microsoft Word DOCX‑dokument med PHP‑kommandon.

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

Avslutande tankar

Att konvertera PDF‑filer till Word‑dokument med PHP behöver inte vara komplicerat eller dyrt. Med rätt gratisverktyg och bibliotek kan utvecklare erbjuda sömlösa, redigerbara dokumentexport till användare, öka dokumentautomatisering och förbättra den totala produktiviteten. Oavsett om du föredrar lätta PHP‑wrapper‑lösningar eller robusta molnbaserade API:er finns det en lösning som passar dina behov.

Vanliga frågor

Q: Kan jag konvertera PDF till Word i PHP utan att använda betalda API:er?

A: Ja, du kan använda öppna källkods‑bibliotek som Spatie, PHPWord och LibreOffice‑CLI gratis.

Q: Stöder öppen källkod PDF‑till‑Word‑konvertering bilder och formatering?

A: Grundläggande verktyg gör det inte, men genom att använda LibreOffice eller Gotenberg bevaras layout och bilder.

Q: Är det möjligt att automatisera PDF‑till‑DOCX‑konvertering i PHP‑webbappar?

A: Absolut—dessa bibliotek kan integreras i vilket PHP‑baserat arbetsflöde som helst.

Se även