Editar documentos usando API REST em PHP.

Podemos adicionar, editar ou excluir o conteúdo de documentos existentes do Word, planilhas do Excel ou arquivos de texto programaticamente na nuvem. Também podemos aplicar formatação de texto nos documentos usando PHP sem instalar nenhum aplicativo externo. Neste artigo, aprenderemos como editar documentos usando uma API REST em PHP.

Os seguintes tópicos serão abordados neste artigo:

API REST do editor de documentos e PHP SDK

Usaremos a API PHP SDK of GroupDocs.Editor Cloud para modificar os arquivos DOCX, XLSX e TXT. Permite editar documentos dos formatos suportados. Instale-o usando o seguinte comando no console:

composer require groupdocscloud/groupdocs-editor-cloud

Após a instalação, use o autoload dos compositores para usar o SDK conforme mostrado abaixo:

require_once('vendor/autoload.php');

Por favor, obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

// Este exemplo de código demonstra como adicionar ID e segredo do cliente no código.
static $ClientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
static $ClientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
static $ApiBaseUrl = 'https://api.groupdocs.cloud';
static $MyStorage = '';

// inicializando a configuração
$configuration = new GroupDocs\Editor\Configuration();

// Definindo as configurações
$configuration->setAppSid(CommonUtils::$ClientId);
$configuration->setAppKey(CommonUtils::$ClientSecret);
$configuration->setApiBaseUrl(CommonUtils::$ApiBaseUrl);

Edite documentos do Word usando a API REST em PHP

Podemos editar documentos do Word seguindo as etapas simples mencionadas abaixo:

  1. Carregar o arquivo DOCX para a nuvem
  2. Editar o documento do Word carregado
  3. Baixar o arquivo editado

Carregue o Documento

Em primeiro lugar, faremos o upload do arquivo DOCX para a nuvem usando o exemplo de código abaixo:

// Este exemplo de código demonstra como carregar um arquivo DOCX para a nuvem.
// Inicializar a API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Caminho do arquivo de entrada
$file = "C:\\Files\\Editor\\sample.docx";

// Solicitação de upload de arquivo
$request = new GroupDocs\Editor\Model\Requests\uploadFileRequest("sample.docx", $file, self::$MyStorage, null);

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

Como resultado, o arquivo DOCX carregado estará disponível na seção de arquivos do painel na nuvem.

Editar documento do Word em PHP

Agora, editaremos o conteúdo do arquivo DOCX carregado seguindo as etapas abaixo:

  • Em primeiro lugar, crie instâncias de FileApi e EditApi.
  • Em seguida, forneça o caminho do arquivo DOCX carregado.
  • Em seguida, baixe o arquivo como um documento HTML.
  • Em seguida, leia o arquivo HTML baixado como uma string.
  • Em seguida, edite o HTML e salve o documento HTML atualizado.
  • Depois disso, carregue o arquivo HTML atualizado.
  • Por fim, salve o HTML de volta no DOCX usando o método EditApi.save().

O exemplo de código a seguir mostra como editar um documento do Word usando uma API REST em PHP.

// Este exemplo de código demonstra como editar um documento do Word
// Crie instâncias de API necessárias
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Carregue o arquivo DOCX carregado no estado editável
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.docx");

// Defina a senha se estiver protegido por senha
// $fileInfo->setPassword("senha");

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

// Baixar 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);

// Carregar HTML de volta ao armazenamento
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Salvar HTML de volta para 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));

// Feito.
echo "Document edited: " . $saveResult->getPath();
Edite documentos do Word usando a API REST em PHP.

Editar documento do Word usando uma API REST em PHP.

Baixe o arquivo atualizado

O exemplo de código acima salvará o arquivo Word editado (DOCX) na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:

// Este exemplo de código demonstra como baixar um arquivo DOCX da nuvem.
// Inicializar a API
$apiInstance = new GroupDocs\Editor\FileApi($configuration);

// Solicitação de download de arquivo
$request = new GroupDocs\Editor\Model\Requests\DownloadFileRequest("edited.docx", self::$MyStorage, null);

// ⇬ Fazer download do arquivo
$response = $apiInstance->downloadFile($request);

Modifique planilhas do Excel usando API REST em PHP

Podemos editar o conteúdo de uma planilha do Excel seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer o caminho do arquivo XLSX carregado.

O exemplo de código a seguir mostra como editar dados de planilha do Excel usando uma API REST em PHP.

// Este exemplo de código demonstra como editar uma planilha do Excel
// Crie instâncias de API necessárias
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Carregue o arquivo XLSX carregado no estado editável
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.xlsx"); 

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

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

// Edite alguma coisa...
$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);

// Carregar HTML de volta ao armazenamento
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Salvar HTML de volta para 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));

// Feito.
echo "Document edited: " . $saveResult->getPath();
Modifique planilhas do Excel usando a API REST em PHP.

Modifique a planilha do Excel usando uma API REST em PHP.

Atualize arquivos de texto usando a API REST em PHP

Também podemos atualizar o conteúdo de um arquivo de texto seguindo as etapas mencionadas anteriormente. No entanto, só precisamos fornecer o caminho do arquivo TXT carregado.

O exemplo de código a seguir mostra como editar um arquivo de texto usando uma API REST em PHP.

// Este exemplo de código demonstra como editar um arquivo de texto
// Crie instâncias de API necessárias
$editApi = new GroupDocs\Editor\EditApi($configuration);
$fileApi = new GroupDocs\Editor\FileApi($configuration);

// Carregue o arquivo TXT carregado no estado editável
$fileInfo = new Model\FileInfo();
$fileInfo->setFilePath("sample.txt");        
$loadOptions = new Model\TextLoadOptions();
$loadOptions->setFileInfo($fileInfo);
$loadOptions->setOutputPath("");
$loadResult = $editApi->load(new Requests\loadRequest($loadOptions));

// Baixar 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);

// Carregar HTML de volta ao armazenamento
file_put_contents($htmlFile->getRealPath(), $html);
$uploadRequest = new Requests\uploadFileRequest($loadResult->getHtmlPath(), $htmlFile->getRealPath());
$fileApi->uploadFile($uploadRequest);

// Salvar HTML de volta para 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));

// Feito.
echo "Document edited: " . $saveResult->getPath();
Atualize arquivos de texto usando a API REST em PHP.

Atualize o arquivo de texto usando uma API REST em PHP.

Experimente on-line

Experimente as seguintes ferramentas gratuitas de edição de documentos online, que são desenvolvidas usando a API acima.

Conclusão

Neste artigo, aprendemos como:

  • editar ou modificar o conteúdo de arquivos Word, Excel ou Texto em PHP;
  • fazer upload do arquivo DOCX para a nuvem;
  • baixe o arquivo do Word atualizado da nuvem.

Além disso, você pode aprender mais sobre GroupDocs.Editor Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também