Редагувати документи за допомогою REST API у PHP.

Ми можемо програмно додавати, редагувати або видаляти вміст існуючих документів Word, електронних таблиць Excel або текстових файлів у хмарі. Ми також можемо застосувати форматування тексту в документах за допомогою PHP без встановлення будь-якої зовнішньої програми. У цій статті ми дізнаємося, як редагувати документи за допомогою REST API у PHP.

У цій статті будуть розглянуті такі теми:

Редактор документів REST API та PHP SDK

Ми будемо використовувати PHP SDK GroupDocs.Editor Cloud API для зміни файлів DOCX, XLSX і TXT. Він дозволяє редагувати документи підтримуваних форматів. Встановіть його за допомогою такої команди в консолі:

composer require groupdocscloud/groupdocs-editor-cloud

Після інсталяції використовуйте автозавантаження 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, дотримуючись простих кроків, згаданих нижче:

  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 або текстових файлів у PHP;
  • завантажити файл DOCX в хмару;
  • завантажити оновлений файл Word із хмари.

Крім того, ви можете дізнатися більше про GroupDocs.Editor Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також