Modifica i documenti utilizzando l'API REST in PHP.

Possiamo aggiungere, modificare o eliminare il contenuto di documenti Word esistenti, fogli di calcolo Excel o file di testo in modo programmatico sul cloud. Possiamo anche applicare la formattazione del testo nei documenti utilizzando PHP senza installare alcuna applicazione esterna. In questo articolo impareremo come modificare i documenti utilizzando un’API REST in PHP.

In questo articolo saranno trattati i seguenti argomenti:

API REST dell’editor di documenti e SDK PHP

Utilizzeremo l’API PHP SDK of GroupDocs.Editor Cloud per modificare i file DOCX, XLSX e TXT. Consente di modificare i documenti dei formati supportati. Si prega di installarlo utilizzando il seguente comando nella console:

composer require groupdocscloud/groupdocs-editor-cloud

Dopo l’installazione, utilizzare autoload di Composers per utilizzare l’SDK come mostrato di seguito:

require_once('vendor/autoload.php');

Si prega di ottenere l’ID cliente e il segreto dalla dashboard prima di seguire i passaggi menzionati. Una volta che hai il tuo ID e segreto, aggiungi il codice come mostrato di seguito:

// Questo esempio di codice illustra come aggiungere l'ID client e il segreto nel codice.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// inizializzazione della configurazione
$configuration = new GroupDocs\Editor\Configuration();

// Impostazione delle configurazioni
$configuration->setAppSid(CommonUtils::$ClientId);
$configuration->setAppKey(CommonUtils::$ClientSecret);
$configuration->setApiBaseUrl(CommonUtils::$ApiBaseUrl);

Modifica i documenti di Word utilizzando l’API REST in PHP

Possiamo modificare i documenti di Word seguendo i semplici passaggi indicati di seguito:

  1. Carica il file DOCX nel cloud
  2. Modifica il documento Word caricato
  3. Scarica il file modificato

Carica il documento

Innanzitutto, caricheremo il file DOCX nel cloud utilizzando l’esempio di codice fornito di seguito:

// Questo esempio di codice illustra come caricare un file DOCX nel cloud.
// Inizializza l'API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Percorso del file di input
$file = "C:\\Files\\Editor\\sample.docx";

// Richiesta di caricamento del file
$request = new GroupDocs\Editor\Model\Requests\uploadFileRequest("sample.docx", $file, self::$MyStorage, null);

// Caricare un file
$response = $apiInstance->uploadFile($request);

Di conseguenza, il file DOCX caricato sarà disponibile nella sezione file della dashboard sul cloud.

Modifica documento Word in PHP

Ora, modificheremo il contenuto del file DOCX caricato seguendo i passaggi indicati di seguito:

  • Innanzitutto, crea istanze di FileApi e EditApi.
  • Successivamente, fornisci il percorso del file DOCX caricato.
  • Quindi, scarica il file come documento HTML.
  • Successivamente, leggi il file HTML scaricato come una stringa.
  • Quindi, modifica l’HTML e salva il documento HTML aggiornato.
  • Successivamente, carica il file HTML aggiornato.
  • Infine, salva nuovamente l’HTML in DOCX utilizzando il metodo EditApi.save().

L’esempio di codice seguente mostra come modificare un documento di Word utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come modificare un documento di Word
// Crea le istanze API necessarie
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Carica il file DOCX caricato in uno stato modificabile
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.docx");

// Imposta password se protetta da password
// $fileInfo->setPassword("password");

// Definire le opzioni di caricamento
$loadOptions = new Model\WordProcessingLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

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

// Modifica il testo
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);

// Ricarica l'HTML nello spazio di archiviazione
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Salva l'HTML in 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));

// Fatto.
echo "Document edited: " . $saveResult->getPath();
Modifica i documenti di Word utilizzando l'API REST in PHP.

Modifica il documento di Word utilizzando un’API REST in PHP.

Scarica il file aggiornato

L’esempio di codice precedente salverà il file Word modificato (DOCX) nel cloud. Può essere scaricato utilizzando il seguente esempio di codice:

// Questo esempio di codice illustra come scaricare un file DOCX dal cloud.
// Inizializza l'API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Scarica la richiesta di file
$request = new GroupDocs\Editor\Model\Requests\DownloadFileRequest("edited.docx", self::$MyStorage, null);

// Download file
$response = $apiInstance->downloadFile($request);

Modifica i fogli di calcolo Excel utilizzando l’API REST in PHP

Possiamo modificare il contenuto di un foglio Excel seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire il percorso del file XLSX caricato.

L’esempio di codice seguente mostra come modificare i dati del foglio di Excel utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come modificare un foglio Excel
// Crea le istanze API necessarie
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Carica il file XLSX caricato in uno stato modificabile
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.xlsx"); 

// Definire le opzioni di caricamento
$loadOptions = new Model\SpreadsheetLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadOptions->setWorksheetIndex(0);
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

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

// Modifica qualcosa...
$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);

// Ricarica l'HTML nella memoria
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Salva l'HTML in 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));

// Fatto.
echo "Document edited: " . $saveResult->getPath();
Modifica i fogli di calcolo Excel utilizzando l'API REST in PHP.

Modifica il foglio di calcolo Excel utilizzando un’API REST in PHP.

Aggiorna i file di testo utilizzando l’API REST in PHP

Possiamo anche aggiornare il contenuto di un file di testo seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo fornire il percorso del file TXT caricato.

Il seguente esempio di codice mostra come modificare un file di testo utilizzando un’API REST in PHP.

// Questo esempio di codice mostra come modificare un file di testo
// Crea le istanze API necessarie
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Carica il file TXT caricato in uno stato modificabile
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.txt");        
$loadOptions = new Model\TextLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

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

// Modifica il testo
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);

// Ricarica l'HTML nella memoria
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Salva l'HTML in 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));

// Fatto.
echo "Document edited: " . $saveResult->getPath();
Aggiorna i file di testo utilizzando l'API REST in PHP.

Aggiorna il file di testo utilizzando un’API REST in PHP.

Prova in linea

Prova i seguenti strumenti di modifica dei documenti online gratuiti, sviluppati utilizzando l’API di cui sopra.

Conclusione

In questo articolo abbiamo imparato a:

  • modificare o modificare il contenuto di file Word, Excel o di testo in PHP;
  • caricare il file DOCX nel cloud;
  • scarica il file Word aggiornato dal cloud.

Inoltre, puoi saperne di più su GroupDocs.Editor Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di qualsiasi ambiguità, non esitate a contattarci sul forum.

Guarda anche