2017-06-07 5 views
2

Ich habe keinen Plan, wie ich ein Word-Dokument, das ich als String (Blob) aus meiner Datenbank habe, in ein PDF über die Bibliothek PHPOffice konvertieren kann.Wie konvertiert man ein PDF aus Word mit PHPOffice

Konzept:

  1. Ich hole ein vorhandenes Word-Dokument als Zeichenfolge aus der Datenbank
  2. übergeben Sie die Zeichenfolge durch einen Konstruktor oder eine Funktion der PHPOffice Bibliothek.
  3. Dann erhalten Sie über eine andere Funktion die PDF als String
  4. Und zuletzt die Zeichenfolge mit Content-Type: application/pdf an den Benutzer ausgeben.

Nr. 1 und 4 habe ich bereits implementiert. Aber ich weiß nicht, wie ich nr erreichen kann. 2 und 3. Kann mir jemand helfen?

Code:

//DB-Connection, Composer autoload, ... 

$id = htmlspecialchars(trim($_REQUEST["id"])); 

$get_data = $con->query("SELECT * FROM word_documents WHERE id='$id'"); //Get the blob 
$data = $get_data->fetch(); 
if ($get_data->rowCount() == 1) { 
    header("Content-Type: application/pdf"); 
    header("Content-Disposition: inline; filename=" . $data["name"]); 

    //TODO: Print the PDF as an string 

} else { 
    echo "File not found"; 
} 
+0

einige Code uns helfen könnten lösen Sie Ihr Problem schneller :) –

+0

@KingReload Tha Danke für deinen Kommentar. Ich habe einen Code meiner bestehenden Implementierung hochgeladen. –

+0

Danke für deinen Code :) schätze es –

Antwort

1

Nachdem ich einige Funktionen aus der PhpOffice Bibliothek versucht, habe ich endlich eine Lösung.

Also mit der Bibliothek bei Self, können Sie nicht laden und speichern Sie es direkt von einer Zeichenfolge in eine Zeichenfolge. Sie müssen zur Zeit Dateien erstellen.

Ich wählte die TCPDF-Engine, weil es sehr einfach zu installieren war. Laden Sie einfach die Dateien von Git Repository oder website herunter und laden Sie sie in einen Ordner.

Natürlich könnte es schließlich nicht die beste Lösung sein, aber für mich ist es nur eine Vorschau eines Word-Dokuments.

Also das Skript wurde auch von den beiden folgenden Links inspiriert:

0

Sie können die Ausgabe in einen String

ob_start(); 
$xmlWriter->save('php://output'); 
return ob_get_clean(); 
Verwandte Themen