Word Dokument mit PHP auf einer HTML-Seite anzeigen.

Wir können DOC oder DOCX Dateien problemlos in HTML-Webseiten programmgesteuert in der Cloud rendern. Es kann nützlich sein, Word Dokumente in jedem Browser anzuzeigen, ohne die Originaldateien freizugeben. In diesem Artikel erfahren Sie, wie Sie mithilfe einer REST-API in PHP ein Word Dokument in einer HTML-Seite anzeigen.

Die folgenden Themen sollen in diesem Artikel behandelt werden:

Word zu HTML-Viewer-REST-API und PHP-SDK

Zum Rendern von Word Dokumenten in HTML verwenden wir die PHP SDK of GroupDocs.Viewer Cloud API. Es ermöglicht das programmgesteuerte Rendern und Anzeigen von unterstützten Dokument und Bilddateiformaten. Bitte installieren Sie es mit dem folgenden Befehl in der Konsole:

composer require groupdocscloud/groupdocs-viewer-cloud

Nach der Installation verwenden Sie bitte autoload von Composers, um das SDK wie unten gezeigt zu verwenden:

require_once('vendor/autoload.php');

Bitte holen Sie sich Ihre Kunden-ID und Ihr Geheimnis aus dem Dashboard, bevor Sie die genannten Schritte ausführen. Sobald Sie Ihre ID und Ihr Geheimnis haben, fügen Sie den Code wie unten gezeigt ein:

// Dieses Codebeispiel zeigt, wie man Client-ID und Secret zum Code hinzufügt.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// Initialisierung der Konfiguration
$configuration = new GroupDocs\Viewer\Configuration();

// Festlegen der Konfigurationen
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Zeigen Sie Word Dokumente mithilfe der REST-API in PHP auf einer HTML-Seite an

Wir können den Inhalt eines Word Dokuments in HTML anzeigen, indem wir die folgenden einfachen Schritte ausführen:

  1. Hochladen der DOCX-Datei in die Cloud
  2. Word Dokument auf HTML-Seite anzeigen
  3. Herunterladen der gerenderten Datei

Laden Sie das Dokument hoch

Zuerst laden wir die DOCX-Datei mit dem unten angegebenen Codebeispiel in die Cloud hoch:

// Dieses Codebeispiel zeigt, wie eine DOCX-Datei in die Cloud hochgeladen wird.
// Initialisieren Sie die API
$apiInstance = new GroupDocs\Viewer\FileApi($configuration);

// Pfad der Eingabedatei
$file = "C:\\Files\\Viewer\\input.docx";

// Anfrage zum Hochladen einer Datei
$request = new GroupDocs\Viewer\Model\Requests\uploadFileRequest("input.docx", $file);

// Datei hochladen
$response = $apiInstance->uploadFile($request);

Dadurch ist die hochgeladene Datei im Dateienbereich des Dashboards in der Cloud verfügbar.

Word Dokument mit PHP auf einer HTML-Seite anzeigen

Jetzt rendern oder zeigen wir den Inhalt eines hochgeladenen Word Dokuments auf HTML-Seiten an, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der ViewAPI.
  2. Erstellen Sie als Nächstes eine Instanz von ViewOptions.
  3. Geben Sie dann den Eingabedateipfad an.
  4. Stellen Sie außerdem das ViewFormat auf „HTML“ ein.
  5. Als nächstes initialisieren Sie das HtmlOptions Objekt.
  6. Legen Sie dann verschiedene Eigenschaften wie IsResponsive, ForPrinting usw. fest.
  7. Erstellen Sie anschließend CreateViewRequest mit ViewOptions als Argument.
  8. Rendern Sie abschließend Word mit der Methode createView() in HTML.

Das folgende Codebeispiel zeigt, wie eine Word-Datei in HTML mithilfe einer REST-API in PHP angezeigt wird.

// Dieses Codebeispiel zeigt, wie DOCX in HTML gerendert wird.
// Initialisieren Sie die API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Definieren Sie ViewOptions
$viewOptions = new Model\ViewOptions();

// Pfad der Eingabedatei
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Legen Sie ViewFormat fest
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Definieren Sie HTML-Optionen
$renderOptions = new Model\HtmlOptions();

// Stellen Sie es so ein, dass es reagiert
$renderOptions->setIsResponsive(true);

// Zum Drucken eingestellt
$renderOptions->setForPrinting(true);

// Renderoptionen zuweisen
$viewOptions->setRenderOptions($renderOptions);

// Ansichtsanfrage erstellen
$request = new Requests\CreateViewRequest($viewOptions);

// Ansicht erstellen
$response = $apiInstance->createView($request);

// Erledigt
echo "HtmlViewerResponsiveLayout completed: ", count($response->getPages());
echo "\n";  
Zeigen Sie Word Dokumente mithilfe der REST-API in PHP auf einer HTML-Seite an

Zeigen Sie Word Dokumente mithilfe der REST-API in PHP auf einer HTML-Seite an.

Wir können die Darstellung von Word in HTML anpassen, indem wir die folgenden Optionen anwenden:

  • Rendern Sie einen bestimmten Seitenbereich
// Pass specific range of page numbers to render. 
// This will render all pages from starting from page 1 to 3.
$renderOptions->setStartPageNumber(1);
$renderOptions->setCountPagesToRender(3);
  • Nur ausgewählte Seiten rendern
// Pass specific page numbers to render. 
// This will render only page number 1 and 3.
$renderOptions->setPagesToRender([1, 3]);
  • Seiten in einer bestimmten Reihenfolge anzeigen
// Pass page numbers in the order you want to render them
$renderOptions->setPagesToRender([2, 1]);
  • Dokument mit Kommentaren rendern
$renderOptions->setRenderComments(true);

Laden Sie HTML-Seiten herunter

Das obige Codebeispiel speichert die gerenderten HTML-Seite(n) in der Cloud. Es kann mit dem folgenden Codebeispiel heruntergeladen werden:

// Dieses Codebeispiel zeigt, wie die gerenderten HTML-Seiten aus der Cloud heruntergeladen werden.
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Holen Sie sich alle Seiten
$pages = $response->getPages();

// Speichern Sie die Seiten einzeln
foreach ($pages as $page)
{
    // Erstellen Sie eine Download-Dateianfrage
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Download-Datei
    $file = $fileApi->DownloadFile($downloadFileRequest);
    echo "$page downloaded!";
    echo "\n"; 
}

Einbetten eines Word Dokuments in eine vorhandene HTML-Seite

Wir können ein Word Dokument auch in eine vorhandene HTML-Seite einbetten, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst Instanzen von ViewAPI und FileAPI.
  2. Erstellen Sie als Nächstes eine Instanz von ViewOptions.
  3. Geben Sie dann den Eingabedateipfad an.
  4. Stellen Sie außerdem das ViewFormat auf „HTML“ ein.
  5. Als nächstes initialisieren Sie das HtmlOptions Objekt.
  6. Legen Sie dann verschiedene Eigenschaften wie IsResponsive, ForPrinting usw. fest.
  7. Erstellen Sie anschließend CreateViewRequest mit ViewOptions als Argument.
  8. Rendern Sie dann Word mit der Methode createView() in HTML.
  9. Laden Sie als Nächstes eine vorhandene HTML-Datei und rufen Sie Elemente des Body-Tags ab
  10. Lesen Sie dann den HTML-Code jeder Seite und hängen Sie ihn an den Body-Tag an
  11. Speichern Sie anschließend den aktualisierten HTML-Code mit der Methode saveHTML().
  12. Speichern Sie abschließend die HTML-Datei mit der Methode file\put\contents().

Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API in PHP ein Word Dokument in eine vorhandene HTML-Seite einbetten.

// Dieses Codebeispiel zeigt, wie DOCX in HTML gerendert wird.
// Initialisieren Sie die API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Definieren Sie ViewOptions
$viewOptions = new Model\ViewOptions();

// Pfad der Eingabedatei
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Legen Sie ViewFormat fest
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Definieren Sie HTML-Optionen
$renderOptions = new Model\HtmlOptions();

// Stellen Sie es so ein, dass es reagiert
$renderOptions->setIsResponsive(true);

// Zum Drucken eingestellt
$renderOptions->setForPrinting(true);

// Renderoptionen zuweisen
$viewOptions->setRenderOptions($renderOptions);

// Ansichtsanfrage erstellen
$request = new Requests\CreateViewRequest($viewOptions);

// Ansicht erstellen
$response = $apiInstance->createView($request);

// Laden Sie eine vorhandene HTML-Datei
$domDoc = new DOMDocument();
$domDoc->loadHTMLFile("C:\Files\Viewer\Sample.html");
$body = $domDoc->GetElementsByTagName('body')->item(0);

// Holen Sie sich Seiten
$pages = $response->getPages();

// Betten Sie alle gerenderten HTML-Seiten in das Body-Tag des vorhandenen HTML ein
foreach ($pages as $page)
{
    // Erstellen Sie eine Download-Dateianfrage
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Konvertierte Seite herunterladen
    $file = $fileApi->DownloadFile($downloadFileRequest);

    // Lesen Sie HTML aus der Download-Datei
    $html = file_get_contents($file->getRealPath());

    //Fügen Sie Inhalt zum Fragment hinzu
    $fragment = $domDoc->createDocumentFragment();
    $fragment->appendXML("<div>$html</div>");

    // Hängen Sie das Element an den Körper an
    $body->appendChild($fragment);
}

// Speichern Sie den aktualisierten HTML-Code
$output = $domDoc->saveHTML();

// Speicher die Datei
file_put_contents("C:\Files\Viewer\Sample.html", $output);
Einbetten eines Word Dokuments in eine vorhandene HTML-Seite

Betten Sie ein Word Dokument in eine vorhandene HTML-Seite ein.

Zeigen Sie Word Dokumente in HTML mit Wasserzeichen mithilfe von PHP an

Wir können beim programmgesteuerten Rendern von Word Dokumenten in HTML-Seiten einen Wasserzeichentext hinzufügen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der ViewAPI.
  2. Erstellen Sie als Nächstes eine Instanz von ViewOptions.
  3. Geben Sie dann den Eingabedateipfad an.
  4. Stellen Sie außerdem das ViewFormat auf „HTML“ ein.
  5. Erstellen Sie als Nächstes eine Instanz des Wasserzeichens und weisen Sie sie zu.
  6. Legen Sie dann die Größe und den Text des Wasserzeichens fest.
  7. Erstellen Sie anschließend CreateViewRequest mit ViewOptions als Argument.
  8. Rendern Sie abschließend Word mit der Methode createView() in HTML.

Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API in PHP ein Word Dokument in HTML mit einem Wasserzeichen anzeigen.

// Dieses Codebeispiel zeigt, wie Word mit Wasserzeichen in HTML gerendert wird.
// Initialisieren Sie die API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Definieren Sie ViewOptions
$viewOptions = new Model\ViewOptions();

// Pfad der Eingabedatei
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");				
$viewOptions->setFileInfo($fileInfo);

// Legen Sie ViewFormat fest
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Wasserzeichen definieren
$watermark = new Model\Watermark();
$watermark->setText("This is sample text watermark!");
$watermark->setSize(100);
$watermark->setColor("Red");
$viewOptions->setWatermark($watermark);

// Ansichtsanfrage erstellen
$request = new Requests\CreateViewRequest($viewOptions);

// Ansicht erstellen
$response = $apiInstance->createView($request);

// Erledigt
echo "AddWatermark completed: ", count($response->getPages());
echo "\n";
Zeigen Sie Word Dokumente in HTML mit Wasserzeichen mithilfe von PHP an.

Zeigen Sie Word Dokumente in HTML mit Wasserzeichen mithilfe von PHP an.

Versuchen Sie es online

Bitte probieren Sie das folgende kostenlose Online-DOCX-Rendering-Tool aus, das mit der oben genannten API entwickelt wurde. https://products.groupdocs.app/viewer/docx

Abschluss

In diesem Artikel haben wir gelernt, wie man:

  • Anzeigen eines Word Dokuments auf einer vom Browser unterstützten HTML-Webseite mit PHP;
  • Passen Sie die Darstellung von Word an HTML an.
  • Word Dokument in eine vorhandene HTML-Webseite einbetten;
  • den Inhalt einer Word-Datei in HTML mit Wasserzeichen anzeigen;
  • Laden Sie die DOCX-Datei programmgesteuert in die Cloud hoch.
  • Laden Sie die gerenderten HTML Dateien aus der Cloud herunter.

Außerdem können Sie mithilfe der Dokumentation mehr über die GroupDocs.Viewer Cloud API erfahren. Wir bieten auch einen Abschnitt API-Referenz an, mit dem Sie unsere APIs direkt über den Browser visualisieren und mit ihnen interagieren können. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

See Also