เราสามารถเพิ่ม แก้ไข หรือลบเนื้อหาของเอกสาร Word สเปรดชีต Excel หรือไฟล์ข้อความที่มีอยู่โดยทางโปรแกรมบนคลาวด์ เรายังสามารถใช้การจัดรูปแบบข้อความในเอกสารโดยใช้ PHP โดยไม่ต้องติดตั้งแอปพลิเคชันภายนอก ในบทความนี้ เราจะมาเรียนรู้วิธีการแก้ไขเอกสารโดยใช้ REST API ใน PHP
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- โปรแกรมแก้ไขเอกสาร REST API และ PHP SDK
- แก้ไขเอกสาร Word โดยใช้ REST API ใน PHP
- แก้ไขสเปรดชีต Excel โดยใช้ REST API ใน PHP
- อัปเดตไฟล์ข้อความโดยใช้ REST API ใน PHP
โปรแกรมแก้ไขเอกสาร REST API และ PHP SDK
เราจะใช้ API PHP SDK of GroupDocs.Editor Cloud สำหรับแก้ไขไฟล์ DOCX, XLSX และ TXT อนุญาตให้แก้ไขเอกสารของ รูปแบบที่รองรับ โปรดติดตั้งโดยใช้คำสั่งต่อไปนี้ในคอนโซล:
composer require groupdocscloud/groupdocs-editor-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\Editor\Configuration();
// การตั้งค่าการกำหนดค่า
$configuration->setAppSid(CommonUtils::$ClientId);
$configuration->setAppKey(CommonUtils::$ClientSecret);
$configuration->setApiBaseUrl(CommonUtils::$ApiBaseUrl);
แก้ไขเอกสาร Word โดยใช้ REST API ใน PHP
เราสามารถแก้ไขเอกสาร Word ได้โดยทำตามขั้นตอนง่าย ๆ ดังต่อไปนี้
อัปโหลดเอกสาร
ประการแรก เราจะอัปโหลดไฟล์ DOCX ไปยังคลาวด์โดยใช้ตัวอย่างโค้ดที่ระบุด้านล่าง:
// ตัวอย่างโค้ดนี้สาธิตวิธีอัปโหลดไฟล์ DOCX ไปยังคลาวด์
// เริ่มต้น API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);
// เส้นทางไฟล์อินพุต
$file = "C:\\Files\\Editor\\sample.docx";
// อัปโหลดคำขอไฟล์
$request = new GroupDocs\Editor\Model\Requests\uploadFileRequest("sample.docx", $file, self::$MyStorage, null);
// อัพโหลดไฟล์
$response = $apiInstance->uploadFile($request);
ด้วยเหตุนี้ ไฟล์ DOCX ที่อัปโหลดจะอยู่ใน ส่วนไฟล์ ของแดชบอร์ดบนระบบคลาวด์
แก้ไขเอกสาร Word ใน PHP
ตอนนี้ เราจะแก้ไขเนื้อหาของไฟล์ DOCX ที่อัปโหลดโดยทำตามขั้นตอนด้านล่าง:
- ประการแรก สร้างอินสแตนซ์ของ FileApi และ EditApi
- ถัดไป ระบุเส้นทางไฟล์ DOCX ที่อัปโหลด
- จากนั้นดาวน์โหลดไฟล์เป็นเอกสาร HTML
- จากนั้น อ่านไฟล์ HTML ที่ดาวน์โหลดเป็นสตริง
- จากนั้นแก้ไข HTML และบันทึกเอกสาร HTML ที่อัปเดต
- หลังจากนั้น ให้อัปโหลดไฟล์ HTML ที่อัปเดตแล้ว
- สุดท้าย บันทึก HTML กลับไปที่ DOCX โดยใช้เมธอด EditApi.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขเอกสาร Word โดยใช้ REST API ใน PHP
// ตัวอย่างรหัสนี้สาธิตวิธีการแก้ไขเอกสาร Word
// สร้างอินสแตนซ์ API ที่จำเป็น
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);
// โหลดไฟล์ DOCX ที่อัพโหลดเข้าสู่สถานะที่สามารถแก้ไขได้
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.docx");
// ตั้งรหัสผ่านหากมีการป้องกันด้วยรหัสผ่าน
// $fileInfo->setPassword("รหัสผ่าน");
// กำหนดตัวเลือกการโหลด
$loadOptions = new Model\WordProcessingLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));
// ดาวน์โหลดเอกสาร HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());
// แก้ไขข้อความ
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);
// อัปโหลด HTML กลับไปยังที่เก็บข้อมูล
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);
// บันทึก HTML กลับไปที่ DOCX
$saveOptions = new Model\WordProcessingSaveOptions();
$saveOptions->setFileInfo($fileInfo);
$saveOptions->setOutputPath("edited.docx");
$saveOptions->setHtmlPath($loadResult->getHtmlPath());
$saveOptions->setResourcesPath($loadResult->getResourcesPath());
$saveResult = $editApi->save(new Requests\saveRequest($saveOptions));
// เสร็จแล้ว.
echo "Document edited: " . $saveResult->getPath();
ดาวน์โหลดไฟล์ที่อัปเดต
ตัวอย่างโค้ดด้านบนจะบันทึกไฟล์ Word (DOCX) ที่แก้ไขบนคลาวด์ สามารถดาวน์โหลดได้โดยใช้ตัวอย่างโค้ดต่อไปนี้:
// ตัวอย่างรหัสนี้สาธิตวิธีดาวน์โหลดไฟล์ DOCX จากระบบคลาวด์
// เริ่มต้น API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);
// ดาวน์โหลดไฟล์คำขอ
$request = new GroupDocs\Editor\Model\Requests\DownloadFileRequest("edited.docx", self::$MyStorage, null);
// ดาวน์โหลดไฟล์
$response = $apiInstance->downloadFile($request);
แก้ไขสเปรดชีต Excel โดยใช้ REST API ใน PHP
เราสามารถแก้ไขเนื้อหาของแผ่นงาน Excel ได้โดยทำตามขั้นตอนที่กล่าวไว้ก่อนหน้านี้ อย่างไรก็ตาม เราเพียงต้องระบุเส้นทางไฟล์ XLSX ที่อัปโหลด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขข้อมูลแผ่นงาน Excel โดยใช้ REST API ใน PHP
// ตัวอย่างรหัสนี้สาธิตวิธีการแก้ไขแผ่นงาน Excel
// สร้างอินสแตนซ์ API ที่จำเป็น
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);
// โหลดไฟล์ XLSX ที่อัพโหลดเข้าสู่สถานะที่สามารถแก้ไขได้
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.xlsx");
// กำหนดตัวเลือกการโหลด
$loadOptions = new Model\SpreadsheetLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadOptions->setWorksheetIndex(0);
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));
// ดาวน์โหลดเอกสาร HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());
// แก้ไขบางอย่าง...
$html = str_replace("Region", "Country", $html);
$html = str_replace("Europe", "France", $html);
$html = str_replace("Asia", "China", $html);
$html = str_replace("South America", "Argentina", $html);
// อัปโหลด HTML กลับไปยังที่เก็บข้อมูล
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);
// บันทึก HTML กลับไปเป็น XLSX
$saveOptions = new Model\SpreadsheetSaveOptions();
$saveOptions->setFileInfo($fileInfo);
$saveOptions->setOutputPath("edited.xlsx");
$saveOptions->setHtmlPath($loadResult->getHtmlPath());
$saveOptions->setResourcesPath($loadResult->getResourcesPath());
$saveResult = $editApi->save(new Requests\saveRequest($saveOptions));
// เสร็จแล้ว.
echo "Document edited: " . $saveResult->getPath();
อัปเดตไฟล์ข้อความโดยใช้ REST API ใน PHP
เรายังสามารถอัปเดตเนื้อหาของไฟล์ข้อความได้โดยทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้ อย่างไรก็ตาม เราเพียงต้องระบุเส้นทางไฟล์ TXT ที่อัปโหลด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขไฟล์ข้อความโดยใช้ REST API ใน PHP
// ตัวอย่างรหัสนี้สาธิตวิธีการแก้ไขไฟล์ข้อความ
// สร้างอินสแตนซ์ API ที่จำเป็น
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);
// โหลดไฟล์ TXT ที่อัปโหลดไปยังสถานะที่แก้ไขได้
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.txt");
$loadOptions = new Model\TextLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));
// ดาวน์โหลดเอกสาร HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());
// แก้ไขข้อความ
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);
// อัปโหลด HTML กลับไปยังที่เก็บข้อมูล
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);
// บันทึก HTML กลับไปเป็น TXT
$saveOptions = new Model\TextSaveOptions();
$saveOptions->setFileInfo($fileInfo);
$saveOptions->setOutputPath("edited.txt");
$saveOptions->setHtmlPath($loadResult->getHtmlPath());
$saveOptions->setResourcesPath($loadResult->getResourcesPath());
$saveResult = $editApi->save(new Requests\saveRequest($saveOptions));
// เสร็จแล้ว.
echo "Document edited: " . $saveResult->getPath();
ลองออนไลน์
โปรดลองใช้เครื่องมือแก้ไขเอกสารออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น
- https://products.groupdocs.app/editor/docx
- https://products.groupdocs.app/editor/xlsx
- https://products.groupdocs.app/editor/txt
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีการ:
- แก้ไขหรือแก้ไขเนื้อหาของไฟล์ Word, Excel หรือ Text ใน PHP
- อัปโหลดไฟล์ DOCX ไปยังคลาวด์
- ดาวน์โหลดไฟล์ Word ที่อัปเดตจากคลาวด์
นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Editor Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม