Modifier des documents à l'aide de l'API REST en PHP.

Nous pouvons ajouter, modifier ou supprimer le contenu de documents Word, de feuilles de calcul Excel ou de fichiers texte existants par programmation sur le cloud. Nous pouvons également appliquer la mise en forme du texte dans les documents en utilisant PHP sans installer d’application externe. Dans cet article, nous allons apprendre à éditer des documents à l’aide d’une API REST en PHP.

Les sujets suivants seront traités dans cet article :

API REST de l’éditeur de documents et SDK PHP

Nous utiliserons l’API PHP SDK of GroupDocs.Editor Cloud pour modifier les fichiers DOCX, XLSX et TXT. Il permet d’éditer des documents des formats pris en charge. Veuillez l’installer à l’aide de la commande suivante dans la console :

composer require groupdocscloud/groupdocs-editor-cloud

Après l’installation, veuillez utiliser autoload des compositeurs pour utiliser le SDK comme indiqué ci-dessous :

require_once('vendor/autoload.php');

Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :

// Cet exemple de code montre comment ajouter un ID client et un secret dans le code.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// initialisation de la configuration
$configuration = new GroupDocs\Editor\Configuration();

// Définition des configurations
$configuration->setAppSid(CommonUtils::$ClientId);
$configuration->setAppKey(CommonUtils::$ClientSecret);
$configuration->setApiBaseUrl(CommonUtils::$ApiBaseUrl);

Modifier des documents Word à l’aide de l’API REST en PHP

Nous pouvons éditer des documents Word en suivant les étapes simples mentionnées ci-dessous :

  1. Télécharger le fichier DOCX dans le cloud
  2. Modifier le document Word téléchargé
  3. Télécharger le fichier édité

Télécharger le document

Tout d’abord, nous allons télécharger le fichier DOCX sur le cloud à l’aide de l’exemple de code ci-dessous :

// Cet exemple de code montre comment télécharger un fichier DOCX dans le cloud.
// Initialiser l'API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Chemin du fichier d'entrée
$file = "C:\\Files\\Editor\\sample.docx";

// Demande de téléchargement de fichier
$request = new GroupDocs\Editor\Model\Requests\uploadFileRequest("sample.docx", $file, self::$MyStorage, null);

// Téléverser un fichier
$response = $apiInstance->uploadFile($request);

Par conséquent, le fichier DOCX téléchargé sera disponible dans la section des fichiers du tableau de bord sur le cloud.

Modifier un document Word en PHP

Maintenant, nous allons modifier le contenu du fichier DOCX téléchargé en suivant les étapes ci-dessous :

  • Tout d’abord, créez des instances de FileApi et de EditApi.
  • Ensuite, indiquez le chemin du fichier DOCX téléchargé.
  • Ensuite, téléchargez le fichier sous forme de document HTML.
  • Ensuite, lisez le fichier HTML téléchargé sous forme de chaîne.
  • Modifiez ensuite le code HTML et enregistrez le document HTML mis à jour.
  • Après cela, téléchargez le fichier HTML mis à jour.
  • Enfin, enregistrez le HTML dans DOCX à l’aide de la méthode EditApi.save().

L’exemple de code suivant montre comment modifier un document Word à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment modifier un document Word
// Créer les instances d'API nécessaires
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Chargez le fichier DOCX téléchargé dans un état modifiable
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.docx");

// Définir le mot de passe si protégé par mot de passe
// $fileInfo->setPassword("password");

// Définir les options de chargement
$loadOptions = new Model\WordProcessingLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

// Télécharger le document HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());

// Éditer le texte
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);

// Importer le code HTML dans le stockage
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Enregistrer le HTML dans 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));

// Fait.
echo "Document edited: " . $saveResult->getPath();
Modifiez des documents Word à l'aide de l'API REST en PHP.

Modifier un document Word à l’aide d’une API REST en PHP.

Télécharger le fichier mis à jour

L’exemple de code ci-dessus enregistrera le fichier Word modifié (DOCX) sur le cloud. Il peut être téléchargé à l’aide de l’exemple de code suivant :

// Cet exemple de code montre comment télécharger un fichier DOCX à partir du cloud.
// Initialiser l'API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Télécharger la demande de fichier
$request = new GroupDocs\Editor\Model\Requests\DownloadFileRequest("edited.docx", self::$MyStorage, null);

// Télécharger un fichier
$response = $apiInstance->downloadFile($request);

Modifier des feuilles de calcul Excel à l’aide de l’API REST en PHP

Nous pouvons modifier le contenu d’une feuille Excel en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir le chemin du fichier XLSX téléchargé.

L’exemple de code suivant montre comment modifier les données d’une feuille Excel à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment modifier une feuille Excel
// Créer les instances d'API nécessaires
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Chargez le fichier XLSX téléchargé dans un état modifiable
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.xlsx"); 

// Définir les options de chargement
$loadOptions = new Model\SpreadsheetLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadOptions->setWorksheetIndex(0);
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

// Télécharger le document HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());

// Modifier quelque chose...
$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);

// Importer le code HTML dans le stockage
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Enregistrer le HTML dans 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));

// Fait.
echo "Document edited: " . $saveResult->getPath();
Modifier des feuilles de calcul Excel à l'aide de l'API REST en PHP.

Modifier une feuille de calcul Excel à l’aide d’une API REST en PHP.

Mettre à jour les fichiers texte à l’aide de l’API REST en PHP

Nous pouvons également mettre à jour le contenu d’un fichier texte en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de fournir le chemin du fichier TXT téléchargé.

L’exemple de code suivant montre comment modifier un fichier texte à l’aide d’une API REST en PHP.

// Cet exemple de code montre comment modifier un fichier texte
// Créer les instances d'API nécessaires
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Chargez le fichier TXT téléchargé dans un état modifiable
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.txt");        
$loadOptions = new Model\TextLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

// Télécharger le document HTML
$htmlFile = $fileApi->downloadFile(new Requests\downloadFileRequest($loadResult->getHtmlPath()));
$html = file_get_contents($htmlFile->getRealPath());

// Éditer le texte
$html = str_replace("Title of the document", "Welcome", $html);
$html = str_replace("Subtitle #1", "This is Subtitle", $html);

// Importer le code HTML dans le stockage
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Enregistrer le HTML dans 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));

// Fait.
echo "Document edited: " . $saveResult->getPath();
Mettez à jour les fichiers texte à l'aide de l'API REST en PHP.

Mettre à jour le fichier texte à l’aide d’une API REST en PHP.

Essayez en ligne

Veuillez essayer les outils d’édition de documents en ligne gratuits suivants, qui sont développés à l’aide de l’API ci-dessus.

Conclusion

Dans cet article, nous avons appris à :

  • éditer ou modifier le contenu de fichiers Word, Excel ou Texte en PHP ;
  • télécharger le fichier DOCX sur le cloud ;
  • télécharger le fichier Word mis à jour à partir du cloud.

En outre, vous pouvez en savoir plus sur l’API Cloud GroupDocs.Editor à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également