我們可以在雲端以編程方式添加、編輯或刪除現有 Word 文檔、Excel 電子表格或文本文件的內容。我們還可以使用 PHP 在文檔中應用文本格式,而無需安裝任何外部應用程序。在本文中,我們將學習如何在 PHP 中使用 REST API 編輯文檔。
本文應涵蓋以下主題:
- 文檔編輯器 REST API 和 PHP SDK
- 在 PHP 中使用 REST API 編輯 Word 文檔
- 在 PHP 中使用 REST API 修改 Excel 電子表格
- 在 PHP 中使用 REST API 更新文本文件
文檔編輯器 REST API 和 PHP SDK
我們將使用 GroupDocs.Editor Cloud 的 PHP SDK API 來修改 DOCX、XLSX 和 TXT 文件。它允許編輯 支持的格式 的文檔。請在控制台中使用以下命令安裝它:
composer require groupdocscloud/groupdocs-editor-cloud
安裝後,請使用Composers的autoload來使用SDK,如下圖:
require_once('vendor/autoload.php');
在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:
// 此代碼示例演示如何在代碼中添加客戶端 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);
在 PHP 中使用 REST API 編輯 Word 文檔
我們可以按照下面提到的簡單步驟來編輯Word文檔:
上傳文件
首先,我們將使用下面給出的代碼示例將 DOCX 文件上傳到雲端:
// 此代碼示例演示如何將 DOCX 文件上傳到雲端。
// 初始化接口
$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 文件將在雲端儀表板的 文件部分 中可用。
在 PHP 中編輯 Word 文檔
現在,我們將按照以下步驟編輯上傳的 DOCX 文件的內容:
- 首先,創建 FileApi 和 EditApi 的實例。
- 接下來,提供上傳的 DOCX 文件路徑。
- 然後,將該文件下載為 HTML 文檔。
- 接下來,將下載的 HTML 文件作為字符串讀取。
- 然後,編輯 HTML 並保存更新後的 HTML 文檔。
- 之後,上傳更新後的 HTML 文件。
- 最後,使用 EditApi.save() 方法將 HTML 保存回 DOCX。
以下代碼示例顯示瞭如何在 PHP 中使用 REST API 編輯 Word 文檔。
// 此代碼示例演示如何編輯 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 文件。
// 初始化接口
$apiInstance = new GroupDocs\Editor\FileApi($configuration);
// 下載文件請求
$request = new GroupDocs\Editor\Model\Requests\DownloadFileRequest("edited.docx", self::$MyStorage, null);
// 下載文件
$response = $apiInstance->downloadFile($request);
在 PHP 中使用 REST API 修改 Excel 電子表格
我們可以按照前面提到的步驟來編輯 Excel 工作表的內容。但是,我們只需要提供上傳的 XLSX 文件路徑即可。
以下代碼示例展示瞭如何在 PHP 中使用 REST API 編輯 Excel 工作表數據。
// 此代碼示例演示如何編輯 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();
在 PHP 中使用 REST API 更新文本文件
我們還可以按照前面提到的步驟更新文本文件的內容。但是,我們只需要提供上傳的 TXT 文件路徑即可。
以下代碼示例顯示瞭如何在 PHP 中使用 REST API 編輯文本文件。
// 此代碼示例演示如何編輯文本文件
// 創建必要的 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
結論
在本文中,我們學習瞭如何:
- 在 PHP 中編輯或修改 Word、Excel 或文本文件的內容;
- 上傳DOCX文件到雲端;
- 從雲端下載更新的 Word 文件。
此外,您可以使用 文檔 了解有關 GroupDocs.Editor Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。