Мы можем программно добавлять, редактировать или удалять содержимое существующих документов 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
Мы будем использовать PHP SDK GroupDocs.Editor Cloud API для изменения файлов DOCX, XLSX и TXT. Он позволяет редактировать документы поддерживаемых форматов. Пожалуйста, установите его с помощью следующей команды в консоли:
composer require groupdocscloud/groupdocs-editor-cloud
После установки используйте autoload Composers, чтобы использовать SDK, как показано ниже:
require_once('vendor/autoload.php');
Пожалуйста, получите свой идентификатор клиента и секрет на панели управления, прежде чем выполнять указанные шаги. Получив свой идентификатор и секрет, добавьте код, как показано ниже:
// В этом примере кода показано, как добавить идентификатор клиента и секрет в код.
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, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.