เราสามารถแสดงไฟล์ DOC หรือ DOCX ในหน้าเว็บ HTML ได้อย่างง่ายดายบนระบบคลาวด์ ซึ่งจะมีประโยชน์ในการดูเอกสาร Word ในเบราว์เซอร์ใดๆ โดยไม่ต้องแชร์ไฟล์ต้นฉบับ ในบทความนี้ เราจะเรียนรู้วิธีแสดงเอกสาร Word ในหน้า HTML โดยใช้ REST API ใน PHP
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- Word เป็น HTML Viewer REST API และ PHP SDK
- แสดงเอกสาร Word ในหน้า HTML โดยใช้ REST API ใน PHP
- ฝังเอกสาร Word ลงในหน้า HTML ที่มีอยู่
- แสดงเอกสาร Word ใน HTML พร้อมลายน้ำโดยใช้ PHP
Word เป็น HTML Viewer REST API และ PHP SDK
สำหรับการแสดงเอกสาร Word ใน HTML เราจะใช้ API PHP SDK of GroupDocs.Viewer Cloud อนุญาตให้แสดงผลและดู รูปแบบไฟล์เอกสารและรูปภาพที่รองรับ โดยทางโปรแกรม โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:
composer require groupdocscloud/groupdocs-viewer-cloud
หลังการติดตั้ง โปรดใช้ autoload ของนักแต่งเพลงเพื่อใช้ SDK ดังที่แสดงด้านล่าง:
require_once('vendor/autoload.php');
โปรด รับรหัสลูกค้าและข้อมูลลับจากแดชบอร์ด ก่อนทำตามขั้นตอนดังกล่าว เมื่อคุณมี ID และรหัสลับของคุณแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:
// ตัวอย่างรหัสนี้สาธิตวิธีการเพิ่มรหัสไคลเอนต์และรหัสลับในรหัส
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';
// กำลังเริ่มต้นการกำหนดค่า
$configuration = new GroupDocs\Viewer\Configuration();
// การตั้งค่าการกำหนดค่า
$configuration->setAppSid(self::$ClientId);
$configuration->setAppKey(self::$ClientSecret);
$configuration->setApiBaseUrl(self::$ApiBaseUrl);
แสดงเอกสาร Word ในหน้า HTML โดยใช้ REST API ใน PHP
เราสามารถแสดงเนื้อหาของเอกสาร Word ในรูปแบบ HTML โดยทำตามขั้นตอนง่าย ๆ ด้านล่าง:
- อัปโหลด ไฟล์ DOCX ไปยังคลาวด์
- แสดงเอกสาร Word ในหน้า HTML
- ดาวน์โหลด ไฟล์เรนเดอร์
อัปโหลดเอกสาร
ประการแรก เราจะอัปโหลดไฟล์ DOCX ไปยังคลาวด์โดยใช้ตัวอย่างโค้ดที่ระบุด้านล่าง:
// ตัวอย่างโค้ดนี้สาธิตวิธีอัปโหลดไฟล์ DOCX ไปยังคลาวด์
// เริ่มต้น API
$apiInstance = new GroupDocs\Viewer\FileApi($configuration);
// เส้นทางไฟล์อินพุต
$file = "C:\\Files\\Viewer\\input.docx";
// อัปโหลดคำขอไฟล์
$request = new GroupDocs\Viewer\Model\Requests\uploadFileRequest("input.docx", $file);
// อัพโหลดไฟล์
$response = $apiInstance->uploadFile($request);
ด้วยเหตุนี้ ไฟล์ที่อัปโหลดจะอยู่ใน ส่วนไฟล์ ของแดชบอร์ดบนระบบคลาวด์
แสดงเอกสาร Word ในหน้า HTML โดยใช้ PHP
ตอนนี้ เราจะแสดงหรือแสดงเนื้อหาของเอกสาร Word ที่อัปโหลดบนหน้า HTML โดยทำตามขั้นตอนด้านล่าง:
- ประการแรก สร้างอินสแตนซ์ของ ViewAPI
- จากนั้น สร้างอินสแตนซ์ของ ViewOptions
- จากนั้นระบุเส้นทางไฟล์อินพุต
- นอกจากนี้ ตั้งค่า ViewFormat เป็น “HTML”
- ถัดไป เริ่มต้นวัตถุ HtmlOptions
- จากนั้นกำหนดคุณสมบัติต่างๆ เช่น IsResponsive, ForPrinting เป็นต้น
- หลังจากนั้น สร้าง CreateViewRequest ด้วย ViewOptions เป็นอาร์กิวเมนต์
- สุดท้าย แสดง Word เป็น HTML โดยใช้เมธอด createView()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแสดงไฟล์ Word ใน HTML โดยใช้ REST API ใน PHP
// ตัวอย่างโค้ดนี้สาธิตวิธีการเรนเดอร์ DOCX เป็น HTML
// เริ่มต้น API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
// กำหนด ViewOptions
$viewOptions = new Model\ViewOptions();
// เส้นทางไฟล์อินพุต
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");
$viewOptions->setFileInfo($fileInfo);
// ตั้งค่า ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);
// กำหนดตัวเลือก HTML
$renderOptions = new Model\HtmlOptions();
// ตั้งค่าให้ตอบสนอง
$renderOptions->setIsResponsive(true);
// ตั้งค่าสำหรับการพิมพ์
$renderOptions->setForPrinting(true);
// กำหนดตัวเลือกการเรนเดอร์
$viewOptions->setRenderOptions($renderOptions);
// สร้างคำขอดู
$request = new Requests\CreateViewRequest($viewOptions);
// สร้างมุมมอง
$response = $apiInstance->createView($request);
// เสร็จแล้ว
echo "HtmlViewerResponsiveLayout completed: ", count($response->getPages());
echo "\n";
เราสามารถปรับแต่งการแสดงผลของ Word เป็น HTML โดยใช้ตัวเลือกต่อไปนี้:
- แสดงผลช่วงหน้าเฉพาะ
// 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);
- แสดงผลหน้าที่เลือกเท่านั้น
// Pass specific page numbers to render.
// This will render only page number 1 and 3.
$renderOptions->setPagesToRender([1, 3]);
- ดูหน้าตามลำดับเฉพาะ
// Pass page numbers in the order you want to render them
$renderOptions->setPagesToRender([2, 1]);
- แสดงเอกสารพร้อมความคิดเห็น
$renderOptions->setRenderComments(true);
ดาวน์โหลดหน้า HTML
ตัวอย่างโค้ดด้านบนจะบันทึกหน้า HTML ที่แสดงผลบนคลาวด์ สามารถดาวน์โหลดได้โดยใช้ตัวอย่างโค้ดต่อไปนี้:
// ตัวอย่างโค้ดนี้สาธิตวิธีดาวน์โหลดหน้า HTML ที่แสดงผลจากระบบคลาวด์
$fileApi = new GroupDocs\Viewer\FileApi($configuration);
// ได้ทุกหน้า
$pages = $response->getPages();
// บันทึกหน้าทีละหน้า
foreach ($pages as $page)
{
// สร้างคำขอดาวน์โหลดไฟล์
$downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");
// ดาวน์โหลดไฟล์
$file = $fileApi->DownloadFile($downloadFileRequest);
echo "$page downloaded!";
echo "\n";
}
ฝังเอกสาร Word ลงในหน้า HTML ที่มีอยู่
เรายังสามารถฝังเอกสาร Word ลงในหน้า HTML ที่มีอยู่โดยทำตามขั้นตอนด้านล่าง:
- ประการแรก สร้างอินสแตนซ์ของ ViewAPI และ FileAPI
- จากนั้น สร้างอินสแตนซ์ของ ViewOptions
- จากนั้นระบุเส้นทางไฟล์อินพุต
- นอกจากนี้ ตั้งค่า ViewFormat เป็น “HTML”
- ถัดไป เริ่มต้นวัตถุ HtmlOptions
- จากนั้นกำหนดคุณสมบัติต่างๆ เช่น IsResponsive, ForPrinting เป็นต้น
- หลังจากนั้น สร้าง CreateViewRequest ด้วย ViewOptions เป็นอาร์กิวเมนต์
- จากนั้น แสดงผล Word เป็น HTML โดยใช้เมธอด createView()
- ถัดไป โหลดไฟล์ HTML ที่มีอยู่และรับองค์ประกอบของแท็กเนื้อหา
- จากนั้น อ่าน HTML ของแต่ละหน้าและต่อท้ายแท็ก body
- หลังจากนั้น ให้บันทึก HTML ที่อัปเดตโดยใช้เมธอด saveHTML()
- สุดท้าย บันทึกไฟล์ HTML โดยใช้วิธี file\put\contents()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการฝังเอกสาร Word ลงในหน้า HTML ที่มีอยู่โดยใช้ REST API ใน PHP
// ตัวอย่างโค้ดนี้สาธิตวิธีการเรนเดอร์ DOCX เป็น HTML
// เริ่มต้น API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
$fileApi = new GroupDocs\Viewer\FileApi($configuration);
// กำหนด ViewOptions
$viewOptions = new Model\ViewOptions();
// เส้นทางไฟล์อินพุต
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");
$viewOptions->setFileInfo($fileInfo);
// ตั้งค่า ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);
// กำหนดตัวเลือก HTML
$renderOptions = new Model\HtmlOptions();
// ตั้งค่าให้ตอบสนอง
$renderOptions->setIsResponsive(true);
// ตั้งค่าสำหรับการพิมพ์
$renderOptions->setForPrinting(true);
// กำหนดตัวเลือกการเรนเดอร์
$viewOptions->setRenderOptions($renderOptions);
// สร้างคำขอดู
$request = new Requests\CreateViewRequest($viewOptions);
// สร้างมุมมอง
$response = $apiInstance->createView($request);
// โหลดไฟล์ HTML ที่มีอยู่
$domDoc = new DOMDocument();
$domDoc->loadHTMLFile("C:\Files\Viewer\Sample.html");
$body = $domDoc->GetElementsByTagName('body')->item(0);
// รับหน้า
$pages = $response->getPages();
// ฝังหน้า HTML ที่แสดงผลทั้งหมดลงในแท็ก body ของ HTML ที่มีอยู่
foreach ($pages as $page)
{
// สร้างคำขอดาวน์โหลดไฟล์
$downloadFileRequest = new GroupDocs\Viewer\Model\Requests\DownloadFileRequest($page->getPath(), "");
// ดาวน์โหลดหน้าแปลง
$file = $fileApi->DownloadFile($downloadFileRequest);
// อ่าน HTML จากไฟล์ดาวน์โหลด
$html = file_get_contents($file->getRealPath());
//เพิ่มเนื้อหาในส่วนย่อย
$fragment = $domDoc->createDocumentFragment();
$fragment->appendXML("<div>$html</div>");
// ผนวกองค์ประกอบเข้ากับร่างกาย
$body->appendChild($fragment);
}
// บันทึก HTML ที่อัปเดตแล้ว
$output = $domDoc->saveHTML();
// บันทึกไฟล์
file_put_contents("C:\Files\Viewer\Sample.html", $output);
แสดงเอกสาร Word ใน HTML พร้อมลายน้ำโดยใช้ PHP
เราสามารถเพิ่มข้อความลายน้ำในขณะที่แสดงเอกสาร Word ไปยังหน้า HTML โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- ประการแรก สร้างอินสแตนซ์ของ ViewAPI
- จากนั้น สร้างอินสแตนซ์ของ ViewOptions
- จากนั้นระบุเส้นทางไฟล์อินพุต
- นอกจากนี้ ตั้งค่า ViewFormat เป็น “HTML”
- จากนั้น สร้างและกำหนดอินสแตนซ์ของลายน้ำ
- จากนั้นกำหนดขนาดลายน้ำและข้อความ
- หลังจากนั้น สร้าง CreateViewRequest ด้วย ViewOptions เป็นอาร์กิวเมนต์
- สุดท้าย แสดง Word เป็น HTML โดยใช้เมธอด createView()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแสดงเอกสาร Word ใน HTML พร้อมลายน้ำโดยใช้ REST API ใน PHP
// ตัวอย่างโค้ดนี้สาธิตวิธีการเรนเดอร์ Word ใน HTML ด้วย Watermark
// เริ่มต้น API
$apiInstance = new GroupDocs\Viewer\ViewApi($configuration);
// กำหนด ViewOptions
$viewOptions = new Model\ViewOptions();
// เส้นทางไฟล์อินพุต
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("input.docx");
$viewOptions->setFileInfo($fileInfo);
// ตั้งค่า ViewFormat
$viewOptions->setViewFormat(Model\ViewOptions::VIEW_FORMAT_HTML);
// กำหนดลายน้ำ
$watermark = new Model\Watermark();
$watermark->setText("This is sample text watermark!");
$watermark->setSize(100);
$watermark->setColor("Red");
$viewOptions->setWatermark($watermark);
// สร้างคำขอดู
$request = new Requests\CreateViewRequest($viewOptions);
// สร้างมุมมอง
$response = $apiInstance->createView($request);
// เสร็จแล้ว
echo "AddWatermark completed: ", count($response->getPages());
echo "\n";
ลองออนไลน์
โปรดลองใช้เครื่องมือแสดงผล DOCX ออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น https://products.groupdocs.app/viewer/docx
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีการ:
- ดูเอกสาร Word ในเบราว์เซอร์ที่รองรับเว็บเพจ HTML โดยใช้ PHP;
- ปรับแต่งการแสดงผลของ Word เป็น HTML
- ฝังเอกสาร Word ลงในเว็บเพจ HTML ที่มีอยู่
- ดูเนื้อหาของไฟล์ Word ใน HTML พร้อมลายน้ำ
- อัปโหลดไฟล์ DOCX โดยทางโปรแกรมไปยังคลาวด์
- ดาวน์โหลดไฟล์ HTML ที่แสดงผลจากคลาวด์
นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Viewer Cloud API โดยใช้ เอกสารประกอบ นอกจากนี้ เรายังมีส่วน ข้อมูลอ้างอิง API ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม