Hiển thị Tài liệu Word trong Trang HTML bằng PHP.

Chúng tôi có thể dễ dàng hiển thị các tệp DOC hoặc DOCX trong trang web HTML theo chương trình trên đám mây. Nó có thể hữu ích trong việc xem các tài liệu Word trong bất kỳ trình duyệt nào mà không chia sẻ các tệp gốc. Trong bài viết này, chúng ta sẽ tìm hiểu cách hiển thị tài liệu Word trong trang HTML bằng API REST trong PHP.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API REST của Trình xem Word sang HTML và SDK PHP

Để hiển thị tài liệu Word ở định dạng HTML, chúng tôi sẽ sử dụng API PHP SDK của GroupDocs.Viewer Cloud. Nó cho phép hiển thị và xem các định dạng tệp hình ảnh và tài liệu được hỗ trợ theo chương trình. Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:

composer require groupdocscloud/groupdocs-viewer-cloud

Sau khi cài đặt, vui lòng sử dụng Composers’ autoload để sử dụng SDK như hình bên dưới:

require_once('vendor/autoload.php');

Vui lòng lấy Client ID và Secret của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:

// Ví dụ mã này trình bày cách thêm Id ứng dụng khách và Bí mật trong mã.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';

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

// Khởi tạo cấu hình
$configuration = new GroupDocs\Viewer\Configuration();

// Đặt cấu hình
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);

Hiển thị Tài liệu Word trong Trang HTML bằng API REST trong PHP

Chúng tôi có thể hiển thị nội dung của tài liệu Word trong HTML bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tải lên tệp DOCX lên đám mây
  2. Hiển thị tài liệu Word trong trang HTML
  3. Tải xuống tệp kết xuất

Tải lên tài liệu

Đầu tiên, chúng tôi sẽ tải tệp DOCX lên đám mây bằng cách sử dụng mẫu mã được cung cấp bên dưới:

// Ví dụ mã này trình bày cách tải tệp DOCX lên đám mây.
// Khởi tạo api
$apiInstance = new GroupDocs\Viewer\FileApi($configuration);

// Đường dẫn tệp đầu vào
$file = "C:\\Files\\Viewer\\input.docx";

// Tải lên yêu cầu tập tin
$request = new GroupDocs\Viewer\Model\Requests\uploadFileRequest("input.docx", $file);

// Cập nhật dử liệu
$response = $apiInstance->uploadFile($request);

Do đó, tệp đã tải lên sẽ có sẵn trong phần tệp của trang tổng quan trên đám mây.

Hiển thị tài liệu Word trong trang HTML bằng PHP

Bây giờ, chúng tôi sẽ kết xuất hoặc hiển thị nội dung của tài liệu Word đã tải lên trên các trang HTML bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của ViewAPI.
  2. Tiếp theo, tạo một thể hiện của ViewOptions.
  3. Sau đó, cung cấp đường dẫn tệp đầu vào.
  4. Ngoài ra, hãy đặt ViewFormat là “HTML”.
  5. Tiếp theo, khởi tạo đối tượng HtmlOptions.
  6. Sau đó, đặt các thuộc tính khác nhau như IsResponsive, ForPrinting, v.v.
  7. Sau đó, tạo CreateViewRequest với ViewOptions làm đối số.
  8. Cuối cùng, kết xuất Word sang HTML bằng phương thức createView().

Mẫu mã sau đây cho biết cách hiển thị tệp Word trong HTML bằng cách sử dụng API REST trong PHP.

// Ví dụ mã này trình bày cách kết xuất DOCX sang HTML.
// Khởi tạo api
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Xác định ViewOptions
$viewOptions = new Model\ViewOptions();

// Đường dẫn tệp đầu vào
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Đặt ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Xác định các tùy chọn HTML
$renderOptions = new Model\HtmlOptions();

// Đặt nó để được đáp ứng
$renderOptions->setIsResponsive(true);

// Đặt để in
$renderOptions->setForPrinting(true);

// Chỉ định tùy chọn kết xuất
$viewOptions->setRenderOptions($renderOptions);

// Tạo yêu cầu xem
$request = new Requests\CreateViewRequest($viewOptions);

// Tạo chế độ xem
$response = $apiInstance->createView($request);

// Xong
echo "HtmlViewerResponsiveLayout completed: ", count($response->getPages());
echo "\n";  
Hiển thị Tài liệu Word trong Trang HTML bằng API REST trong PHP

Hiển thị Tài liệu Word trong Trang HTML bằng API REST trong PHP.

Chúng tôi có thể tùy chỉnh kết xuất Word sang HTML bằng cách áp dụng các tùy chọn sau:

  • Hiển thị phạm vi trang cụ thể
// 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);
  • Chỉ hiển thị các trang đã chọn
// Pass specific page numbers to render. 
// This will render only page number 1 and 3.
$renderOptions->setPagesToRender([1, 3]);
  • Xem các trang theo thứ tự cụ thể
// Pass page numbers in the order you want to render them
$renderOptions->setPagesToRender([2, 1]);
  • Kết xuất tài liệu với nhận xét
$renderOptions->setRenderComments(true);

Tải xuống các trang HTML

Mẫu mã trên sẽ lưu (các) trang HTML được hiển thị trên đám mây. Nó có thể được tải xuống bằng cách sử dụng mẫu mã sau:

// Ví dụ về mã này trình bày cách tải xuống các trang HTML được hiển thị từ đám mây.
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Nhận tất cả các trang
$pages = $response->getPages();

// Lưu từng trang một
foreach ($pages as $page)
{
    // Tạo yêu cầu tệp tải xuống
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Tải tập tin
    $file = $fileApi->DownloadFile($downloadFileRequest);
    echo "$page downloaded!";
    echo "\n"; 
}

Nhúng tài liệu Word vào trang HTML hiện có

Chúng tôi cũng có thể nhúng Tài liệu Word vào trang HTML hiện có bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo phiên bản của ViewAPIFileAPI.
  2. Tiếp theo, tạo một thể hiện của ViewOptions.
  3. Sau đó, cung cấp đường dẫn tệp đầu vào.
  4. Ngoài ra, hãy đặt ViewFormat là “HTML”.
  5. Tiếp theo, khởi tạo đối tượng HtmlOptions.
  6. Sau đó, đặt các thuộc tính khác nhau như IsResponsive, ForPrinting, v.v.
  7. Sau đó, tạo CreateViewRequest với ViewOptions làm đối số.
  8. Sau đó, kết xuất Word sang HTML bằng phương pháp createView().
  9. Tiếp theo, Tải tệp HTML hiện có và nhận các thành phần của thẻ body
  10. Sau đó, đọc HTML của từng trang và thêm vào thẻ body
  11. Sau đó, lưu HTML đã cập nhật bằng phương thức saveHTML().
  12. Cuối cùng, lưu tệp HTML bằng phương thức file\put\contents().

Mẫu mã sau đây cho biết cách nhúng tài liệu Word vào trang HTML hiện có bằng cách sử dụng API REST trong PHP.

// Ví dụ mã này trình bày cách kết xuất DOCX thành HTML.
// Khởi tạo api
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
$fileApi = new GroupDocs\Viewer\FileApi($configuration);

// Xác định ViewOptions
$viewOptions = new Model\ViewOptions();

// Đường dẫn tệp đầu vào
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");	
$viewOptions->setFileInfo($fileInfo);

// Đặt ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Xác định các tùy chọn HTML
$renderOptions = new Model\HtmlOptions();

// Đặt nó để được đáp ứng
$renderOptions->setIsResponsive(true);

// Đặt để in
$renderOptions->setForPrinting(true);

// Chỉ định tùy chọn kết xuất
$viewOptions->setRenderOptions($renderOptions);

// Tạo yêu cầu xem
$request = new Requests\CreateViewRequest($viewOptions);

// Tạo chế độ xem
$response = $apiInstance->createView($request);

// Tải một tệp HTML hiện có
$domDoc = new DOMDocument();
$domDoc->loadHTMLFile("C:\Files\Viewer\Sample.html");
$body = $domDoc->GetElementsByTagName('body')->item(0);

// Nhận trang
$pages = $response->getPages();

// Nhúng tất cả các trang HTML được hiển thị vào thẻ body của HTML hiện có
foreach ($pages as $page)
{
    // Tạo yêu cầu tệp tải xuống
    $downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");

    // Tải xuống trang đã chuyển đổi
    $file = $fileApi->DownloadFile($downloadFileRequest);

    // Đọc HTML từ tệp tải xuống
    $html = file_get_contents($file->getRealPath());

    //Thêm nội dung vào đoạn
    $fragment = $domDoc->createDocumentFragment();
    $fragment->appendXML("<div>$html</div>");

    // Nối phần tử vào phần thân
    $body->appendChild($fragment);
}

// Lưu HTML đã cập nhật
$output = $domDoc->saveHTML();

// Lưu các tập tin
file_put_contents("C:\Files\Viewer\Sample.html", $output);
Nhúng-Word-Document-vào-một-trang-HTML-hiện có

Nhúng Tài liệu Word vào Trang HTML Hiện có.

Hiển thị tài liệu Word trong HTML với Watermark bằng PHP

Chúng tôi có thể thêm văn bản hình mờ trong khi hiển thị tài liệu Word sang trang HTML theo cách lập trình bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của ViewAPI.
  2. Tiếp theo, tạo một thể hiện của ViewOptions.
  3. Sau đó, cung cấp đường dẫn tệp đầu vào.
  4. Ngoài ra, hãy đặt ViewFormat là “HTML”.
  5. Tiếp theo, tạo và gán một phiên bản của Hình mờ.
  6. Sau đó, đặt kích thước hình mờ và văn bản.
  7. Sau đó, tạo CreateViewRequest với ViewOptions làm đối số.
  8. Cuối cùng, kết xuất Word sang HTML bằng phương thức createView().

Mẫu mã sau đây cho biết cách hiển thị tài liệu Word trong HTML có hình nền mờ bằng cách sử dụng API REST trong PHP.

// Ví dụ mã này trình bày cách hiển thị Word trong HTML bằng Hình mờ.
// Khởi tạo api
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);

// Xác định ViewOptions
$viewOptions = new Model\ViewOptions();

// Đường dẫn tệp đầu vào
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");				
$viewOptions->setFileInfo($fileInfo);

// Đặt ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);

// Xác định hình mờ
$watermark = new Model\Watermark();
$watermark->setText("This is sample text watermark!");
$watermark->setSize(100);
$watermark->setColor("Red");
$viewOptions->setWatermark($watermark);

// Tạo yêu cầu xem
$request = new Requests\CreateViewRequest($viewOptions);

// Tạo chế độ xem
$response = $apiInstance->createView($request);

// Xong
echo "AddWatermark completed: ", count($response->getPages());
echo "\n";
Hiển thị Tài liệu Word trong HTML với Hình mờ bằng PHP.

Hiển thị Tài liệu Word trong HTML với Hình mờ bằng PHP.

Thử trực tuyến

Vui lòng dùng thử công cụ kết xuất DOCX trực tuyến miễn phí sau đây, được phát triển bằng API trên. https://products.groupdocs.app/viewer/docx

Phần kết luận

Trong bài viết này, chúng ta đã học cách:

  • xem tài liệu Word trong trang web HTML được hỗ trợ bởi trình duyệt bằng PHP;
  • tùy chỉnh kết xuất Word sang HTML;
  • nhúng tài liệu Word vào trang web HTML hiện có;
  • xem nội dung của tệp Word trong HTML với hình mờ;
  • lập trình tải tệp DOCX lên đám mây;
  • tải xuống các tệp HTML được kết xuất từ đám mây.

Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Viewer Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm