Edite documentos usando la API REST en PHP.

Podemos agregar, editar o eliminar el contenido de documentos de Word existentes, hojas de cálculo de Excel o archivos de texto mediante programación en la nube. También podemos aplicar formato de texto en los documentos usando PHP sin instalar ninguna aplicación externa. En este artículo, aprenderemos a editar documentos utilizando una API REST en PHP.

En este artículo se tratarán los siguientes temas:

Editor de documentos REST API y PHP SDK

Usaremos la API PHP SDK de GroupDocs.Editor Cloud para modificar los archivos DOCX, XLSX y TXT. Permite editar documentos de los formatos soportados. Instálalo usando el siguiente comando en la consola:

composer require groupdocscloud/groupdocs-editor-cloud

Después de la instalación, use la carga automática de los compositores para usar el SDK como se muestra a continuación:

require_once('vendor/autoload.php');

Por favor, obtenga su ID de cliente y secreto del tablero antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

// Este ejemplo de código demuestra cómo agregar la identificación y el secreto del cliente en el código.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// inicializando la configuración
$configuration = new GroupDocs\Editor\Configuration();

// Establecer las configuraciones
$configuration->setAppSid(CommonUtils::$ClientId);
$configuration->setAppKey(CommonUtils::$ClientSecret);
$configuration->setApiBaseUrl(CommonUtils::$ApiBaseUrl);

Edite documentos de Word usando REST API en PHP

Podemos editar documentos de Word siguiendo los sencillos pasos que se mencionan a continuación:

  1. Subir el archivo DOCX a la nube
  2. Editar el documento de Word cargado
  3. Descargar el archivo editado

Sube el documento

En primer lugar, cargaremos el archivo DOCX en la nube utilizando el ejemplo de código que se proporciona a continuación:

// Este ejemplo de código demuestra cómo cargar un archivo DOCX en la nube.
// Inicializar la API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Ruta del archivo de entrada
$file = "C:\\Files\\Editor\\sample.docx";

// Subir solicitud de archivo
$request = new GroupDocs\Editor\Model\Requests\uploadFileRequest("sample.docx", $file, self::$MyStorage, null);

// Subir archivo
$response = $apiInstance->uploadFile($request);

Como resultado, el archivo DOCX cargado estará disponible en la sección de archivos del tablero en la nube.

Editar documento de Word en PHP

Ahora, editaremos el contenido del archivo DOCX cargado siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree instancias de FileApi y EditApi.
  • A continuación, proporcione la ruta del archivo DOCX cargado.
  • Luego, descargue el archivo como un documento HTML.
  • A continuación, lea el archivo HTML descargado como una cadena.
  • Luego, edite el HTML y guarde el documento HTML actualizado.
  • Después de eso, cargue el archivo HTML actualizado.
  • Finalmente, guarde HTML nuevamente en DOCX usando el método EditApi.save().

El siguiente ejemplo de código muestra cómo editar un documento de Word usando una API REST en PHP.

// Este ejemplo de código muestra cómo editar un documento de Word
// Crear las instancias de API necesarias
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Cargue el archivo DOCX cargado en estado editable
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.docx");

// Establecer contraseña si está protegido por contraseña
// $fileInfo->setPassword("contraseña");

// Definir opciones de carga
$loadOptions = new Model\WordProcessingLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

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

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

// Subir HTML de nuevo al almacenamiento
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Guardar HTML de nuevo en 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));

// Hecho.
echo "Document edited: " . $saveResult->getPath();
Edite documentos de Word usando la API REST en PHP.

Edite documentos de Word usando una API REST en PHP.

Descargar el archivo actualizado

El ejemplo de código anterior guardará el archivo de Word editado (DOCX) en la nube. Se puede descargar usando el siguiente ejemplo de código:

// Este ejemplo de código muestra cómo descargar un archivo DOCX de la nube.
// Inicializar la API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Descargar solicitud de archivo
$request = new GroupDocs\Editor\Model\Requests\DownloadFileRequest("edited.docx", self::$MyStorage, null);

// Descargar archivo
$response = $apiInstance->downloadFile($request);

Modificar hojas de cálculo de Excel usando REST API en PHP

Podemos editar el contenido de una hoja de Excel siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la ruta del archivo XLSX cargado.

El siguiente ejemplo de código muestra cómo editar datos de hojas de Excel usando una API REST en PHP.

// Este ejemplo de código muestra cómo editar una hoja de Excel
// Crear las instancias de API necesarias
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Cargue el archivo XLSX cargado en estado editable
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.xlsx"); 

// Definir opciones de carga
$loadOptions = new Model\SpreadsheetLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadOptions->setWorksheetIndex(0);
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

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

// Edita algo...
$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);

// Subir HTML de nuevo al almacenamiento
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Guardar HTML de nuevo en 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));

// Hecho.
echo "Document edited: " . $saveResult->getPath();
Modifique las hojas de cálculo de Excel usando la API REST en PHP.

Modifique la hoja de cálculo de Excel usando una API REST en PHP.

Actualizar archivos de texto usando la API REST en PHP

También podemos actualizar el contenido de un archivo de texto siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos proporcionar la ruta del archivo TXT cargado.

El siguiente ejemplo de código muestra cómo editar un archivo de texto usando una API REST en PHP.

// Este ejemplo de código muestra cómo editar un archivo de texto
// Crear las instancias de API necesarias
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Cargue el archivo TXT cargado en estado editable
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.txt");        
$loadOptions = new Model\TextLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

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

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

// Subir HTML de nuevo al almacenamiento
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Guardar HTML de nuevo en 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));

// Hecho.
echo "Document edited: " . $saveResult->getPath();
Actualizar archivos de texto usando la API REST en PHP.

Actualice el archivo de texto usando una API REST en PHP.

Prueba en línea

Pruebe las siguientes herramientas gratuitas de edición de documentos en línea, que se desarrollan utilizando la API anterior.

Conclusión

En este artículo, hemos aprendido a:

  • editar o modificar el contenido de archivos de Word, Excel o Texto en PHP;
  • suba el archivo DOCX a la nube;
  • descargue el archivo de Word actualizado desde la nube.

Además, puede obtener más información sobre GroupDocs.Editor Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también