Edytuj dokumenty za pomocą REST API w PHP.

Możemy programowo dodawać, edytować lub usuwać zawartość istniejących dokumentów Word, arkuszy kalkulacyjnych Excel lub plików tekstowych w chmurze. Możemy również zastosować formatowanie tekstu w dokumentach za pomocą PHP bez instalowania jakiejkolwiek zewnętrznej aplikacji. W tym artykule dowiemy się, jak edytować dokumenty za pomocą REST API w PHP.

W tym artykule zostaną omówione następujące tematy:

Edytor dokumentów REST API i PHP SDK

Będziemy używać PHP SDK of GroupDocs.Editor Cloud API do modyfikowania plików DOCX, XLSX i TXT. Umożliwia edycję dokumentów w obsługiwanych formatach. Zainstaluj go za pomocą następującego polecenia w konsoli:

composer require groupdocscloud/groupdocs-editor-cloud

Po instalacji użyj autoload Composers, aby użyć SDK, jak pokazano poniżej:

require_once('vendor/autoload.php');

Proszę uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego przed wykonaniem wspomnianych kroków. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:

// Ten przykład kodu demonstruje, jak dodać identyfikator klienta i klucz tajny w kodzie.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// inicjowanie konfiguracji
$configuration = new GroupDocs\Editor\Configuration();

// Ustawianie konfiguracji
$configuration->setAppSid(CommonUtils::$ClientId);
$configuration->setAppKey(CommonUtils::$ClientSecret);
$configuration->setApiBaseUrl(CommonUtils::$ApiBaseUrl);

Edytuj dokumenty Word za pomocą REST API w PHP

Możemy edytować dokumenty Word, wykonując proste kroki wymienione poniżej:

  1. Prześlij plik DOCX do chmury
  2. Edytuj przesłany dokument programu Word
  3. Pobierz edytowany plik

Prześlij dokument

Najpierw prześlemy plik DOCX do chmury, korzystając z przykładowego kodu podanego poniżej:

// Ten przykład kodu demonstruje, jak przekazać plik DOCX do chmury.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Wprowadź ścieżkę pliku
$file = "C:\\Files\\Editor\\sample.docx";

// Prześlij prośbę o plik
$request = new GroupDocs\Editor\Model\Requests\uploadFileRequest("sample.docx", $file, self::$MyStorage, null);

// Przesyłanie pliku
$response = $apiInstance->uploadFile($request);

W rezultacie przesłany plik DOCX będzie dostępny w sekcji plików pulpitu nawigacyjnego w chmurze.

Edytuj dokument Word w PHP

Teraz edytujemy zawartość przesłanego pliku DOCX, wykonując czynności podane poniżej:

  • Najpierw utwórz instancje FileApi i EditApi.
  • Następnie podaj ścieżkę przesłanego pliku DOCX.
  • Następnie pobierz plik jako dokument HTML.
  • Następnie przeczytaj pobrany plik HTML jako ciąg znaków.
  • Następnie edytuj kod HTML i zapisz zaktualizowany dokument HTML.
  • Następnie prześlij zaktualizowany plik HTML.
  • Na koniec zapisz HTML z powrotem do DOCX za pomocą metody EditApi.save().

Poniższy przykładowy kod pokazuje, jak edytować dokument programu Word przy użyciu interfejsu API REST w języku PHP.

// Ten przykład kodu demonstruje, jak edytować dokument programu Word
// Utwórz niezbędne instancje interfejsu API
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Załaduj przesłany plik DOCX do stanu edytowalnego
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.docx");

// Ustaw hasło, jeśli jest chronione hasłem
// $fileInfo->setPassword("hasło");

// Zdefiniuj opcje ładowania
$loadOptions = new Model\WordProcessingLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

// Pobierz dokument HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());

// Edytować tekst
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);

// Prześlij kod HTML z powrotem do magazynu
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Zapisz HTML z powrotem w 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));

// Zrobione.
echo "Document edited: " . $saveResult->getPath();
Edytuj dokumenty Word za pomocą REST API w PHP.

Edytuj dokument programu Word za pomocą interfejsu API REST w PHP.

Pobierz zaktualizowany plik

Powyższy przykładowy kod zapisze edytowany plik Word (DOCX) w chmurze. Można go pobrać, korzystając z następującego przykładowego kodu:

// Ten przykład kodu demonstruje, jak pobrać plik DOCX z chmury.
// Zainicjuj interfejs API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Pobierz prośbę o plik
$request = new GroupDocs\Editor\Model\Requests\DownloadFileRequest("edited.docx", self::$MyStorage, null);

// Pobieranie pliku
$response = $apiInstance->downloadFile($request);

Modyfikuj arkusze kalkulacyjne Excel za pomocą REST API w PHP

Możemy edytować zawartość arkusza Excela, wykonując czynności wymienione wcześniej. Musimy jednak tylko podać ścieżkę do przesłanego pliku XLSX.

Poniższy przykładowy kod pokazuje, jak edytować dane arkusza programu Excel przy użyciu interfejsu API REST w języku PHP.

// Ten przykład kodu demonstruje, jak edytować arkusz programu Excel
// Utwórz niezbędne instancje interfejsu API
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Załaduj przesłany plik XLSX do stanu edytowalnego
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.xlsx"); 

// Zdefiniuj opcje ładowania
$loadOptions = new Model\SpreadsheetLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadOptions->setWorksheetIndex(0);
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

// Pobierz dokument HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());

// Edytuj coś...
$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);

// Prześlij kod HTML z powrotem do magazynu
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Zapisz HTML z powrotem do 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));

// Zrobione.
echo "Document edited: " . $saveResult->getPath();
Modyfikuj arkusze kalkulacyjne Excel za pomocą REST API w PHP.

Zmodyfikuj arkusz kalkulacyjny programu Excel za pomocą interfejsu API REST w PHP.

Zaktualizuj pliki tekstowe za pomocą REST API w PHP

Możemy również zaktualizować zawartość pliku tekstowego, wykonując czynności wymienione wcześniej. Musimy jednak tylko podać ścieżkę do załadowanego pliku TXT.

Poniższy przykładowy kod pokazuje, jak edytować plik tekstowy przy użyciu interfejsu API REST w języku PHP.

// Ten przykład kodu demonstruje, jak edytować plik tekstowy
// Utwórz niezbędne instancje interfejsu API
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Załaduj przesłany plik TXT do stanu edytowalnego
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.txt");        
$loadOptions = new Model\TextLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

// Pobierz dokument HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());

// Edytować tekst
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);

// Prześlij kod HTML z powrotem do magazynu
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Zapisz HTML z powrotem do 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));

// Zrobione.
echo "Document edited: " . $saveResult->getPath();
Zaktualizuj pliki tekstowe za pomocą REST API w PHP.

Zaktualizuj plik tekstowy za pomocą interfejsu API REST w PHP.

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzia do edycji dokumentów online, które zostały opracowane przy użyciu powyższego interfejsu API.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • edytować lub modyfikować zawartość plików Word, Excel lub Text w PHP;
  • przesłać plik DOCX do chmury;
  • pobierz zaktualizowany plik Word z chmury.

Poza tym możesz dowiedzieć się więcej o GroupDocs.Editor Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też