แก้ไขเอกสารโดยใช้ REST API ใน PHP

เราสามารถเพิ่ม แก้ไข หรือลบเนื้อหาของเอกสาร Word สเปรดชีต Excel หรือไฟล์ข้อความที่มีอยู่โดยทางโปรแกรมบนคลาวด์ เรายังสามารถใช้การจัดรูปแบบข้อความในเอกสารโดยใช้ 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 ได้โดยทำตามขั้นตอนง่าย ๆ ดังต่อไปนี้

  1. อัปโหลด ไฟล์ DOCX ไปยังคลาวด์
  2. แก้ไข เอกสาร Word ที่อัปโหลด
  3. ดาวน์โหลด ไฟล์ที่แก้ไข

อัปโหลดเอกสาร

ประการแรก เราจะอัปโหลดไฟล์ 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 โดยใช้ REST API ใน PHP

แก้ไขเอกสาร Word โดยใช้ REST API ใน PHP

ดาวน์โหลดไฟล์ที่อัปเดต

ตัวอย่างโค้ดด้านบนจะบันทึกไฟล์ 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();
แก้ไขสเปรดชีต Excel โดยใช้ REST API ใน PHP

แก้ไขสเปรดชีต Excel โดยใช้ REST API ใน PHP

อัปเดตไฟล์ข้อความโดยใช้ 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();
อัปเดตไฟล์ข้อความโดยใช้ REST API ใน PHP

อัปเดตไฟล์ข้อความโดยใช้ REST API ใน PHP

ลองออนไลน์

โปรดลองใช้เครื่องมือแก้ไขเอกสารออนไลน์ฟรีต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีการ:

  • แก้ไขหรือแก้ไขเนื้อหาของไฟล์ Word, Excel หรือ Text ใน PHP
  • อัปโหลดไฟล์ DOCX ไปยังคลาวด์
  • ดาวน์โหลดไฟล์ Word ที่อัปเดตจากคลาวด์

นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Editor Cloud API โดยใช้ เอกสารประกอบ เรายังมีส่วน API Reference ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย