Możemy z łatwością programowo renderować pliki DOC lub DOCX na stronach internetowych HTML w chmurze. Może być przydatny do przeglądania dokumentów Worda w dowolnej przeglądarce bez udostępniania oryginalnych plików. W tym artykule dowiemy się, jak wyświetlić dokument Worda na stronie HTML za pomocą REST API w PHP.
W tym artykule zostaną omówione następujące tematy:
- Word to HTML Viewer REST API i PHP SDK
- Wyświetl dokument programu Word na stronie HTML za pomocą interfejsu API REST w PHP
- Osadź dokument programu Word na istniejącej stronie HTML
- Wyświetl dokument programu Word w formacie HTML ze znakiem wodnym przy użyciu PHP
Word to HTML Viewer REST API i PHP SDK
Do renderowania dokumentów programu Word w formacie HTML będziemy używać interfejsu API PHP SDK of GroupDocs.Viewer Cloud. Umożliwia programowe renderowanie i przeglądanie obsługiwanych formatów plików dokumentów i obrazów. Zainstaluj go za pomocą następującego polecenia w konsoli:
composer require groupdocscloud/groupdocs-viewer-cloud
Po instalacji użyj autoload Composers, aby użyć SDK, jak pokazano poniżej:
require_once('vendor/autoload.php');
Proszę uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego przed wykonaniem wspomnianych kroków. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:
// Ten przykład kodu demonstruje, jak dodać identyfikator klienta i wpis tajny w kodzie.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
// Inicjowanie konfiguracji
$configuration = new GroupDocs\Viewer\Configuration();
// Ustawianie konfiguracji
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
Wyświetl dokument programu Word na stronie HTML za pomocą interfejsu API REST w PHP
Możemy wyświetlić zawartość dokumentu programu Word w formacie HTML, wykonując proste czynności podane poniżej:
- Prześlij plik DOCX do chmury
- Wyświetl dokument Word na stronie HTML
- Pobierz wyrenderowany plik
Prześlij dokument
Najpierw prześlemy plik DOCX do chmury, korzystając z przykładowego kodu podanego poniżej:
// Ten przykład kodu demonstruje, jak przekazać plik DOCX do chmury.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Viewer\FileApi($configuration);
// Wprowadź ścieżkę pliku
$file = "C:\\Files\\Viewer\\input.docx";
// Prześlij prośbę o plik
$request = new GroupDocs\Viewer\Model\Requests\uploadFileRequest("input.docx", $file);
// Przesyłanie pliku
$response = $apiInstance->uploadFile($request);
W rezultacie przesłany plik będzie dostępny w sekcji plików pulpitu nawigacyjnego w chmurze.
Wyświetl dokument programu Word na stronie HTML za pomocą PHP
Teraz będziemy renderować lub wyświetlać zawartość przesłanego dokumentu Word na stronach HTML, wykonując czynności podane poniżej:
- Najpierw utwórz instancję ViewAPI.
- Następnie utwórz instancję ViewOptions.
- Następnie podaj ścieżkę pliku wejściowego.
- Ustaw także ViewFormat jako „HTML”.
- Następnie zainicjuj obiekt HtmlOptions.
- Następnie ustaw różne właściwości, takie jak IsResponsive, ForPrinting itp.
- Następnie utwórz CreateViewRequest z ViewOptions jako argumentem.
- Na koniec wyrenderuj Worda do formatu HTML przy użyciu metody createView().
Poniższy przykładowy kod pokazuje, jak wyświetlić plik programu Word w formacie HTML przy użyciu interfejsu API REST w języku PHP.
// Ten przykład kodu pokazuje, jak renderować DOCX do HTML.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
// Zdefiniuj opcje widoku
$viewOptions = new Model\ViewOptions();
// Wprowadź ścieżkę pliku
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");
$viewOptions->setFileInfo($fileInfo);
// Ustaw format widoku
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);
// Zdefiniuj opcje HTML
$renderOptions = new Model\HtmlOptions();
// Ustaw go tak, aby był responsywny
$renderOptions->setIsResponsive(true);
// Zestaw do drukowania
$renderOptions->setForPrinting(true);
// Przypisz opcje renderowania
$viewOptions->setRenderOptions($renderOptions);
// Utwórz żądanie wyświetlenia
$request = new Requests\CreateViewRequest($viewOptions);
// Utwórz widok
$response = $apiInstance->createView($request);
// Zrobione
echo "HtmlViewerResponsiveLayout completed: ", count($response->getPages());
echo "\n";
Możemy dostosować renderowanie Worda do HTML, stosując następujące opcje:
- Renderuj określony zakres stron
// 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);
- Renderuj tylko wybrane strony
// Pass specific page numbers to render.
// This will render only page number 1 and 3.
$renderOptions->setPagesToRender([1, 3]);
- Przeglądaj strony w określonej kolejności
// Pass page numbers in the order you want to render them
$renderOptions->setPagesToRender([2, 1]);
- Renderuj dokument z komentarzami
$renderOptions->setRenderComments(true);
Pobierz strony HTML
Powyższy przykładowy kod zapisze wyrenderowane strony HTML w chmurze. Można go pobrać, korzystając z następującego przykładowego kodu:
// Ten przykład kodu demonstruje, jak pobrać renderowane strony HTML z chmury.
$fileApi = new GroupDocs\Viewer\FileApi($configuration);
// Pobierz wszystkie strony
$pages = $response->getPages();
// Zapisz strony jedna po drugiej
foreach ($pages as $page)
{
// Utwórz żądanie pobrania pliku
$downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");
// Pobieranie pliku
$file = $fileApi->DownloadFile($downloadFileRequest);
echo "$page downloaded!";
echo "\n";
}
Osadź dokument programu Word na istniejącej stronie HTML
Możemy również osadzić dokument programu Word na istniejącej stronie HTML, wykonując czynności podane poniżej:
- Najpierw utwórz instancje ViewAPI i FileAPI.
- Następnie utwórz instancję ViewOptions.
- Następnie podaj ścieżkę pliku wejściowego.
- Ustaw także ViewFormat jako „HTML”.
- Następnie zainicjuj obiekt HtmlOptions.
- Następnie ustaw różne właściwości, takie jak IsResponsive, ForPrinting itp.
- Następnie utwórz CreateViewRequest z ViewOptions jako argumentem.
- Następnie wyrenderuj Word do HTML za pomocą metody createView().
- Następnie załaduj istniejący plik HTML i pobierz elementy tagu body
- Następnie przeczytaj HTML każdej strony i dołącz do znacznika body
- Następnie zapisz zaktualizowany kod HTML za pomocą metody saveHTML().
- Na koniec zapisz plik HTML za pomocą metody file\put\contents().
Poniższy przykładowy kod pokazuje, jak osadzić dokument programu Word na istniejącej stronie HTML przy użyciu interfejsu API REST w języku PHP.
// Ten przykład kodu pokazuje, jak renderować DOCX do HTML.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
$fileApi = new GroupDocs\Viewer\FileApi($configuration);
// Zdefiniuj opcje widoku
$viewOptions = new Model\ViewOptions();
// Wprowadź ścieżkę pliku
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");
$viewOptions->setFileInfo($fileInfo);
// Ustaw format widoku
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);
// Zdefiniuj opcje HTML
$renderOptions = new Model\HtmlOptions();
// Ustaw go tak, aby był responsywny
$renderOptions->setIsResponsive(true);
// Zestaw do drukowania
$renderOptions->setForPrinting(true);
// Przypisz opcje renderowania
$viewOptions->setRenderOptions($renderOptions);
// Utwórz żądanie wyświetlenia
$request = new Requests\CreateViewRequest($viewOptions);
// Utwórz widok
$response = $apiInstance->createView($request);
// Załaduj istniejący plik HTML
$domDoc = new DOMDocument();
$domDoc->loadHTMLFile("C:\Files\Viewer\Sample.html");
$body = $domDoc->GetElementsByTagName('body')->item(0);
// Pobierz strony
$pages = $response->getPages();
// Osadź wszystkie wyrenderowane strony HTML w tagu treści istniejącego kodu HTML
foreach ($pages as $page)
{
// Utwórz żądanie pobrania pliku
$downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");
// Pobierz przekonwertowaną stronę
$file = $fileApi->DownloadFile($downloadFileRequest);
// Odczytaj kod HTML z pobranego pliku
$html = file_get_contents($file->getRealPath());
//Dodaj treść do fragmentu
$fragment = $domDoc->createDocumentFragment();
$fragment->appendXML("<div>$html</div>");
// Dołącz element do ciała
$body->appendChild($fragment);
}
// Zapisz zaktualizowany kod HTML
$output = $domDoc->saveHTML();
// Zapisz plik
file_put_contents("C:\Files\Viewer\Sample.html", $output);
Wyświetl dokument programu Word w formacie HTML ze znakiem wodnym za pomocą PHP
Możemy dodać tekst znaku wodnego podczas programowego renderowania dokumentów Word na strony HTML, wykonując czynności podane poniżej:
- Najpierw utwórz instancję ViewAPI.
- Następnie utwórz instancję ViewOptions.
- Następnie podaj ścieżkę pliku wejściowego.
- Ustaw także ViewFormat jako „HTML”.
- Następnie utwórz i przypisz wystąpienie znaku wodnego.
- Następnie ustaw rozmiar i tekst znaku wodnego.
- Następnie utwórz CreateViewRequest z ViewOptions jako argumentem.
- Na koniec wyrenderuj program Word do formatu HTML przy użyciu metody createView().
Poniższy przykładowy kod pokazuje, jak wyświetlić dokument programu Word w formacie HTML ze znakiem wodnym przy użyciu interfejsu API REST w języku PHP.
// Ten przykład kodu demonstruje sposób renderowania programu Word w formacie HTML ze znakiem wodnym.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
// Zdefiniuj opcje widoku
$viewOptions = new Model\ViewOptions();
// Wprowadź ścieżkę pliku
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");
$viewOptions->setFileInfo($fileInfo);
// Ustaw format widoku
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);
// Zdefiniuj znak wodny
$watermark = new Model\Watermark();
$watermark->setText("This is sample text watermark!");
$watermark->setSize(100);
$watermark->setColor("Red");
$viewOptions->setWatermark($watermark);
// Utwórz żądanie wyświetlenia
$request = new Requests\CreateViewRequest($viewOptions);
// Utwórz widok
$response = $apiInstance->createView($request);
// Zrobione
echo "AddWatermark completed: ", count($response->getPages());
echo "\n";
Wypróbuj online
Wypróbuj następujące bezpłatne narzędzie do renderowania DOCX online, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/viewer/docx
Wniosek
W tym artykule dowiedzieliśmy się, jak:
- przeglądać dokument programu Word na obsługiwanej przez przeglądarkę stronie internetowej HTML za pomocą PHP;
- dostosować renderowanie Worda do HTML;
- osadzić dokument programu Word na istniejącej stronie HTML;
- przeglądać zawartość pliku Word w formacie HTML ze znakiem wodnym;
- programowo przesłać plik DOCX do chmury;
- pobierz wyrenderowane pliki HTML z chmury.
Poza tym możesz dowiedzieć się więcej o GroupDocs.Viewer Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.