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
- Modifica i documenti di Word utilizzando l’API REST in PHP
- Modifica i fogli di calcolo Excel utilizzando l’API REST in PHP
- Aggiorna i file di testo utilizzando l’API REST in PHP
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:
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();
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();
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();
Prova in linea
Prova i seguenti strumenti di modifica dei documenti online gratuiti, sviluppati utilizzando l’API di cui sopra.
- https://products.groupdocs.app/editor/docx
- https://products.groupdocs.app/editor/xlsx
- https://products.groupdocs.app/editor/txt
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.