Wyświetl dokument programu Word na stronie HTML za pomocą PHP.

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

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:

  1. Prześlij plik DOCX do chmury
  2. Wyświetl dokument Word na stronie HTML
  3. 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:

  1. Najpierw utwórz instancję ViewAPI.
  2. Następnie utwórz instancję ViewOptions.
  3. Następnie podaj ścieżkę pliku wejściowego.
  4. Ustaw także ViewFormat jako „HTML”.
  5. Następnie zainicjuj obiekt HtmlOptions.
  6. Następnie ustaw różne właściwości, takie jak IsResponsive, ForPrinting itp.
  7. Następnie utwórz CreateViewRequest z ViewOptions jako argumentem.
  8. 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";  
Wyświetl dokument programu Word na stronie HTML za pomocą interfejsu API REST w PHP

Wyświetl dokument programu Word na stronie HTML za pomocą interfejsu API REST w PHP.

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:

  1. Najpierw utwórz instancje ViewAPI i FileAPI.
  2. Następnie utwórz instancję ViewOptions.
  3. Następnie podaj ścieżkę pliku wejściowego.
  4. Ustaw także ViewFormat jako „HTML”.
  5. Następnie zainicjuj obiekt HtmlOptions.
  6. Następnie ustaw różne właściwości, takie jak IsResponsive, ForPrinting itp.
  7. Następnie utwórz CreateViewRequest z ViewOptions jako argumentem.
  8. Następnie wyrenderuj Word do HTML za pomocą metody createView().
  9. Następnie załaduj istniejący plik HTML i pobierz elementy tagu body
  10. Następnie przeczytaj HTML każdej strony i dołącz do znacznika body
  11. Następnie zapisz zaktualizowany kod HTML za pomocą metody saveHTML().
  12. 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);
Osadź dokument Worda na istniejącej stronie HTML

Osadź dokument programu Word na istniejącej stronie HTML.

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:

  1. Najpierw utwórz instancję ViewAPI.
  2. Następnie utwórz instancję ViewOptions.
  3. Następnie podaj ścieżkę pliku wejściowego.
  4. Ustaw także ViewFormat jako „HTML”.
  5. Następnie utwórz i przypisz wystąpienie znaku wodnego.
  6. Następnie ustaw rozmiar i tekst znaku wodnego.
  7. Następnie utwórz CreateViewRequest z ViewOptions jako argumentem.
  8. 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";
Wyświetl dokument programu Word w formacie HTML ze znakiem wodnym przy użyciu PHP.

Wyświetl dokument programu Word w formacie HTML ze znakiem wodnym za pomocą PHP.

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.

Zobacz też