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
- Zeigen Sie Word Dokumente mithilfe der REST-API in PHP auf einer HTML-Seite an
- Einbetten eines Word Dokuments in eine vorhandene HTML-Seite
- Zeigen Sie Word Dokumente in HTML mit Wasserzeichen mithilfe von PHP an
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:
- Hochladen der DOCX-Datei in die Cloud
- Word Dokument auf HTML-Seite anzeigen
- 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:
- Erstellen Sie zunächst eine Instanz der ViewAPI.
- Erstellen Sie als Nächstes eine Instanz von ViewOptions.
- Geben Sie dann den Eingabedateipfad an.
- Stellen Sie außerdem das ViewFormat auf „HTML“ ein.
- Als nächstes initialisieren Sie das HtmlOptions Objekt.
- Legen Sie dann verschiedene Eigenschaften wie IsResponsive, ForPrinting usw. fest.
- Erstellen Sie anschließend CreateViewRequest mit ViewOptions als Argument.
- 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";
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:
- Erstellen Sie zunächst Instanzen von ViewAPI und FileAPI.
- Erstellen Sie als Nächstes eine Instanz von ViewOptions.
- Geben Sie dann den Eingabedateipfad an.
- Stellen Sie außerdem das ViewFormat auf „HTML“ ein.
- Als nächstes initialisieren Sie das HtmlOptions Objekt.
- Legen Sie dann verschiedene Eigenschaften wie IsResponsive, ForPrinting usw. fest.
- Erstellen Sie anschließend CreateViewRequest mit ViewOptions als Argument.
- Rendern Sie dann Word mit der Methode createView() in HTML.
- Laden Sie als Nächstes eine vorhandene HTML-Datei und rufen Sie Elemente des Body-Tags ab
- Lesen Sie dann den HTML-Code jeder Seite und hängen Sie ihn an den Body-Tag an
- Speichern Sie anschließend den aktualisierten HTML-Code mit der Methode saveHTML().
- 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);
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:
- Erstellen Sie zunächst eine Instanz der ViewAPI.
- Erstellen Sie als Nächstes eine Instanz von ViewOptions.
- Geben Sie dann den Eingabedateipfad an.
- Stellen Sie außerdem das ViewFormat auf „HTML“ ein.
- Erstellen Sie als Nächstes eine Instanz des Wasserzeichens und weisen Sie sie zu.
- Legen Sie dann die Größe und den Text des Wasserzeichens fest.
- Erstellen Sie anschließend CreateViewRequest mit ViewOptions als Argument.
- 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";
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.