ما به راحتی میتوانیم فایلهای DOC یا DOCX را در صفحات وب HTML بهصورت برنامهنویسی در فضای ابری رندر کنیم. می تواند در مشاهده اسناد Word در هر مرورگری بدون اشتراک گذاری فایل های اصلی مفید باشد. در این مقاله یاد می گیریم که چگونه یک سند Word را در صفحه HTML با استفاده از REST API در PHP نمایش دهیم.
موضوعات زیر در این مقاله پوشش داده خواهد شد:
- Word to HTML Viewer REST API و PHP SDK
- نمایش سند Word در صفحه HTML با استفاده از REST API در PHP
- سند Word را در صفحه HTML موجود جاسازی کنید
- نمایش سند Word در HTML با واترمارک با استفاده از PHP
Word to HTML Viewer REST API و PHP SDK
برای رندر کردن اسناد Word در HTML، از PHP SDK of GroupDocs.Viewer Cloud API استفاده خواهیم کرد. این اجازه می دهد تا رندر و مشاهده [فرمت های سند و فایل تصویر پشتیبانی شده] را به صورت برنامه ریزی شده مشاهده کنید. لطفا با استفاده از دستور زیر در کنسول آن را نصب کنید:
composer require groupdocscloud/groupdocs-viewer-cloud
پس از نصب، لطفاً از Composers’ autoload برای استفاده از SDK مطابق شکل زیر استفاده کنید:
require_once('vendor/autoload.php');
لطفاً قبل از انجام مراحل ذکر شده [شناسه مشتری و راز خود را از داشبورد 7 دریافت کنید. هنگامی که شناسه و راز خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:
// این مثال کد نحوه اضافه کردن شناسه مشتری و Secret را در کد نشان می دهد.
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 را با استفاده از روش createView() به HTML تبدیل کنید.
نمونه کد زیر نحوه نمایش فایل 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 را با استفاده از روش createView() به HTML تبدیل کنید.
- سپس یک فایل HTML موجود را بارگیری کنید و عناصر تگ بدنه را دریافت کنید
- سپس، HTML هر صفحه را بخوانید و به برچسب بدنه اضافه کنید
- پس از آن، 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 ارائه شده را در برچسب بدنه 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” تنظیم کنید.
- بعد، یک نمونه از Watermark را ایجاد و اختصاص دهید.
- سپس اندازه واترمارک و متن را تنظیم کنید.
- پس از آن، CreateViewRequest را با ViewOptions به عنوان آرگومان ایجاد کنید.
- در نهایت، Word را با استفاده از روش createView() به HTML تبدیل کنید.
نمونه کد زیر نحوه نمایش یک سند Word در HTML با واترمارک با استفاده از REST API در PHP را نشان می دهد.
// این مثال کد نشان می دهد که چگونه Word را در 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);
// واترمارک را تعریف کنید
$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 Reference ارائه میکنیم که به شما امکان میدهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آنها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس حاصل فرمایید24.