Os comandos cURL são uma excelente maneira de transferir dados com URLs. Os comandos cURL são recomendados para usar APIs de terminais de linha de comando. Ele não apenas nos permite fazer solicitações regulares, mas também podemos postar dados de formulários, autenticar usuários, salvar respostas em arquivos e outras operações de manipulação de arquivos relacionadas. Em palavras simples, curl é um utilitário de linha de comando para transferir dados de ou para um servidor projetado para funcionar sem interação do usuário. Com curl, você pode baixar ou carregar dados usando um dos protocolos suportados, incluindo HTTP, HTTPS, SCP, SFTP e FTP.

No entanto, também nos facilita testar APIs RESTfull.

Comandos cURL usados

PEGAR

A requisição/operação mais simples e comum feita usando HTTP é GET uma URL. Ao usar esse comando, enviamos uma requisição e recuperamos recursos de uma URL específica (um documento no nosso caso).

PUBLICAR

A solicitação padrão é um GET, mas se tivermos um requisito de usar o mesmo comando cURL para enviar dados de formulários, precisamos usar a solicitação POST. Portanto, neste artigo, usaremos o mesmo comando POST para enviar conteúdo de texto. Observe que, para postar dados, usamos o parâmetro -d (ou – data) com o comando cURL.

COLOCAR

Podemos tropeçar em um requisito para atualizar dados existentes, então, para esse propósito, um método PUT é usado. Para cumprir esse requisito, precisamos usar -X PUT no comando cURL, onde X precisa estar em letras maiúsculas.

Para mais informações, visite tutorial cURL.

Observação: ao usar comandos cURL, certifique-se de não colocar um espaço extra após a barra invertida , caso contrário, o comando não será executado e erros serão exibidos.

Configurando cURL no Mac

Neste artigo, usaremos comandos cURL no macOS para inserir e atualizar objetos Header Footer dentro de um documento do MS Word usando um aplicativo de terminal. Então, para começar, a primeira coisa é instalar o cURL no macOS. Abra o aplicativo Terminal na categoria Outros no launchpad ou pressione Command+Space e digite Terminal e pressione a tecla enter/return. A maneira mais fácil de instalar o cURL é usando o Homebrew e, por esse motivo, primeiro você precisa configurar o homebrew na sua máquina Mac. Digite o seguinte comando no terminal de linha de comando e pressione a tecla Enter.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null

Agora obtenha o pacote brew para cURL usando o seguinte comando.

 brew install curl 

Pronto! Agora você pode usar curl.

Autorizar conta Aspose.Cloud

Para começar a usar Aspose.Cloud APIs, o primeiro passo é autenticar sua conta e obter o JWT em resposta. Se você não tiver uma conta, pode criar uma no Aspose.Cloud dashboard ou se inscrever por meio de sua conta existente do Google ou GitHub e começar a usar nossas Cloud APIs.

// First get JSON Web Token for authentication
// Get App Key and App SID from https://dashboard.aspose.cloud/
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=[APP_SID]&client_secret=[APP_KEY]" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Aspose.Cloud de Palavras

Aspose oferece APIs para manipular documentos do MS Word e você tem a opção de usar APIs de nuvem, APIs locais ou Aplicativos de plataforma cruzada para processar documentos do Word. Neste blog, enfatizamos as APIs de nuvem que nos fornecem os recursos para criar, manipular e transformar documentos do MS Word na nuvem. Nenhum download ou instalação de software específico é necessário para trabalhar com arquivos do MS Word.

A família de produtos Aspose.Cloud fornece um conjunto de SDKs de nuvem direcionados a linguagens de programação populares, incluindo .NET, Java, PHP, Python, Node.js, Android, C++, Ruby, Swift e Go. Todos esses SDKs são um wrapper em torno da Aspose.Words Cloud REST API e os comandos cURL são uma das maneiras mais simples e fáceis de acessar APIs REST por meio do prompt de comando/terminal.

Neste blog, estamos enfatizando o uso de comandos cURL para manipular as seções Cabeçalho e Rodapé dentro de arquivos do MS Word ao acessar Aspose.Words Cloud API.

Carregar documento do Word

Após a autenticação ter sido realizada, o próximo passo é carregar o arquivo para o armazenamento em nuvem. Usando o comando cURL a seguir, o arquivo é carregado para o armazenamento padrão em InputFolder.

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/InputFolder" \
-H "accept: application/json" \
-H "authorization: Bearer <jwt token>" \
-F document=@BusinessLetter2.docx
Saída do console quando o arquivo é carregado no Cloud Storage

Mensagem de sucesso quando um arquivo é carregado no armazenamento em nuvem.

Agora, para confirmar a presença do arquivo no armazenamento em nuvem, abra a aba Meus Arquivos em dashboard.aspose.cloud, podemos notar que uma nova pasta chamada InputFolder contendo BusinessLetter2.docx está aparecendo na lista.

Pasta recém-criada e arquivo carregado no Cloud Storage

Inserir objeto Cabeçalho

Após carregar o documento, podemos inserir um novo objeto Header ou Footer ou acessar um objeto existente e atualizar suas propriedades. Atualmente, a Aspose.Words Cloud API suporta os seguintes tipos de objetos Header e Footer.

O comando a seguir mostra como inserir o objeto HeaderFirst dentro de um documento do Word já disponível no armazenamento em nuvem em InputFolder.

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/headersfooters?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "'HeaderFirst'" \
-H "Content-Type: application/json"

Depois que o comando acima é executado, o console lista as seções dentro do documento do Word.

As seções de cabeçalho e rodapé geralmente contêm texto, imagens, etc. e no comando a seguir, vamos inserir um texto de exemplo dentro do primeiro parágrafo dentro do objeto de cabeçalho criado acima.

curl -v -X POST "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/sections/0/headersFooters/1/paragraphs?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Text': 'Aspose.Words Cloud .NET SDK' }" \
-H "Content-Type: application/json"
Console output after Text is inserted in the Header object. Observe the path of the text inserted.

Console output after Text is inserted in the Header object. Observe the path of the text inserted.

Atualizar formatação de texto do objeto Cabeçalho

Uma vez que o texto é inserido, podemos atualizar as propriedades da fonte do texto. Como um documento do Word pode conter muitas instâncias de texto, para atualizar o texto, precisamos fornecer o caminho exato. Então, se precisarmos atualizar as propriedades da fonte para o texto inserido acima que é inserido em seções/0/cabeçalhos/rodapés/1/parágrafos/0/execuções/0, então precisamos usar o seguinte comando.

Observe que agora vamos atualizar as propriedades da fonte de objetos já posicionados, então precisamos usar o comando PUT.

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/sections/0/headersFooters/1/paragraphs/0/runs/0/font?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Bold':true, 'Size': 21.0, 'Name': 'Calibri',  'Color': { 'Web': '#f54269', 'Alpha': 0 } }" \
-H "Content-Type: application/json"

Inserir PageNumber no rodapé

Um dos usos importantes dos objetos Header e Footer é exibir informações de número de página e, ao usar o Aspose.Words Cloud, podemos facilmente cumprir esse requisito. A API também fornece os recursos para especificar o local onde o carimbo PageNumber precisa ser exibido. Conforme mostrado no comando abaixo, especificamos adicionar informações PageNumber a serem renderizadas no local superior direito da página e também exibi-las sobre a primeira página do documento.

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/PageNumbers?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Format': '{PAGE} of {NUMPAGES}', 'Alignment': 'right', 'IsTop': false, 'SetPageNumberOnFirstPage': true }" \
-H "Content-Type: application/json"

Semelhante à atualização de propriedades de fonte para a instância Header, também podemos atualizar as propriedades de fonte do objeto Footer que contém informações PageNumber. Como as informações de número de página são compostas de objetos de três execuções (execuções/0, execuções/2 e execuções/3), precisamos atualizar o comando de atualização de fonte três vezes para cada instância de execução.

curl -v -X PUT "https://api.aspose.cloud/v4.0/words/BusinessLetter2.docx/sections/0/headersFooters/3/paragraphs/1/runs/3/font?folder=InputFolder" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <jwt token>" \
-d "{ 'Bold':true, 'Size': 21.0, 'Name': 'Arial', 'Shadow': true, 'Color': { 'Web': '#f5b642', 'Alpha': 0 } }" \
-H "Content-Type: application/json"

Depois que todos os comandos acima forem executados, o documento resultante será semelhante à visualização acima.

Para sua referência, os documentos de amostra também estão anexados: