Ótimas notícias para os desenvolvedores! Todos os novos GroupDocs.Annotation Cloud 19.5 são apresentados. Estamos empenhados em evoluir a API GroupDocs.Annotation Cloud REST para torná-la mais simplificada e fácil de usar. Com isso em mente, fizemos as alterações necessárias nesta versão. A nova API está mais otimizada com menos métodos e opções. Sua arquitetura interna foi reformulada para um processamento rápido e confiável para criar ferramentas de anotação de documentos e imagens com suporte para operações de anotação baseadas em texto e figuras. Também agora a API inclui métodos para trabalhar com armazenamento em nuvem. Assim, você pode executar operações de armazenamento usando GroupDocs.Annotation Cloud REST API diretamente, em vez de usar uma API separada.

Verifique as [notas de versão desta versão] detalhadas 1 para ter uma ideia sobre todos os novos recursos/aprimoramentos feitos nesta versão.

Mudanças de última hora

Nova versão da API

API versão V2 introduzida na versão 19.5, V1 permanecerá disponível.

Autenticação

A autenticação JWT (JSON Web Token) foi introduzida nesta versão, agora os métodos de autenticação de assinatura OAuth2 e URL estão obsoletos.

API de anotação

Métodos de API simplificados para aplicar anotações baseadas em texto e figura a documentos e imagens de todos os formatos populares.

APIs de armazenamento

API de arquivo – Métodos introduzidos para upload, download, cópia, movimentação, exclusão de arquivos: documentos de entrada e resultados de renderização no armazenamento em nuvem

API de pasta - Métodos introduzidos para criar, copiar, mover, excluir pastas no armazenamento em nuvem

API de armazenamento - Métodos introduzidos para obter informações de armazenamento e informações de arquivo

Adicionar anotações ao documento

Aqui, mostraremos como a versão da API GroupDocs.Annotation Cloud V2 funciona e é diferente da V1. Adicionaremos anotações em um documento do Word usando GroupDocs.Annotation Cloud SDK para .NET seguindo estas etapas:

  • Carregar documento de origem para armazenamento
  • Adicionar anotação ao documento de origem

Precisamos fazer upload do documento de origem para o armazenamento em nuvem, pois neste exemplo processaremos o documento do armazenamento em nuvem. No lançamento, apresentamos a API de arquivo para operações de armazenamento de arquivos. Usaremos o método UploadFile da versão da API Annotation V2 em vez do método GroupDocs.Storage Cloud API para carregar o arquivo no armazenamento.

using System;
using System.IO;
using GroupDocs.Annotation.Cloud.Sdk.Api;
using GroupDocs.Annotation.Cloud.Sdk.Client;
using GroupDocs.Annotation.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Annotation.Cloud.Examples.CSharp
{
	// Subir arquivo
	class Upload_File
	{
		public static void Run()
		{
			var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
			var apiInstance = new FileApi(configuration);

			try
			{
				// Abra o arquivo no IOStream do local/disco.
				var fileStream = File.Open("..\\..\\..\\Data\\Annotationdocs\\one-page.docx", FileMode.Open);

				var request = new UploadFileRequest("Annotationdocs/one-page1.docx", fileStream, Common.MyStorage);

				var response = apiInstance.UploadFile(request);
				Console.WriteLine("Expected response type is FilesUploadResult: " + response.Uploaded.Count.ToString());
			}
			catch (Exception e)
			{
				Console.WriteLine("Exception while calling FileApi: " + e.Message);
			}
		}
	}
}

Na versão 19.5, o método PUT para importação de anotação foi alterado para o método POST, conforme mostrado no exemplo de código a seguir.

V1.1 Exemplo

//TODO: Obtenha seu AppSID e AppKey em https://dashboard.groupdocs.cloud (registro gratuito é necessário).
var configuration = new Configuration
{
    AppSid = Sid,
    AppKey = Key
};

var apiInstance = new AnnotationApi(configuration);


try
{
    List<AnnotationInfo> annotations = new List<AnnotationInfo>();
    AnnotationInfo annotation = new AnnotationInfo
    {
        AnnotationPosition = new Point(852, 154.31),
        Replies = new[]
        {
                      new AnnotationReplyInfo {Message = "reply text", RepliedOn = DateTime.Now, UserName = "Admin"},
                      new AnnotationReplyInfo
                      {
                          Message = "reply2 text",
                          RepliedOn = DateTime.Now,
                          UserName = "Commentator"
                      }
                  },
        Box = new Rectangle((float)173.29, (float)154.31, (float)142.5, 9),
        PageNumber = 0,
        SvgPath =
            "[{\"x\":173.2986,\"y\":687.5769},{\"x\":315.7985,\"y\":687.5769},{\"x\":173.2986,\"y\":678.5769},{\"x\":315.7985,\"y\":678.5769}]",
        Type = AnnotationType.Text,
        CreatorName = "Anonym A."
    };
    annotations.Add(annotation);
    PutExportRequest request = new PutExportRequest()
    {
        Name ="Annotated.pdf",
        Folder=null,
        Password=null,
        Body=annotations,
        
    };
    // Inserir/exportar anotações para o documento.
    var response = apiInstance.PutExport(request);
    Debug.Print("Document Processsed and stream length: " + response.Length);

}
catch (Exception e)
{
    Debug.Print("Exception when inserting Annotation to document: " + e.Message);
}

Exemplo V2.0

using System;
using GroupDocs.Annotation.Cloud.Sdk.Api;
using GroupDocs.Annotation.Cloud.Sdk.Client;
using GroupDocs.Annotation.Cloud.Sdk.Model;
using GroupDocs.Annotation.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Annotation.Cloud.Examples.CSharp
{
	// Postar/Adicionar anotações
	class Add_Annotation
	{
		public static void Run()
		{
			var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
			var apiInstance = new AnnotateApi(configuration);

			try
			{
				// Definir solicitação.
				var request = new PostAnnotationsRequest()
				{
					filePath = "Annotationdocs\\ten-pages.docx",
					annotations = new System.Collections.Generic.List<AnnotationInfo>() {
						new AnnotationInfo
						{
							AnnotationPosition = new Point { X = 852, Y = 59.388262910798119 },
							Box = new Rectangle { X = 375.89276123046875, Y = 59.388263702392578, Width = 88.7330551147461, Height = 37.7290153503418 },
							PageNumber = 0,
							PenColor = 1201033,
							PenStyle = 0,
							PenWidth = 1,
							Type = AnnotationInfo.TypeEnum.Area,
							CreatorName = "Anonym A."
						}
					}
				};
				apiInstance.PostAnnotations(request);
				Console.WriteLine("Expected response type is void: Annotation added.");
			}
			catch (Exception e)
			{
				Console.WriteLine("Exception while calling Annotation AnnotateApi: " + e.Message);
			}
		}
	}
}

Compartilhe seu feedback

Seu feedback é importante! Sinta-se à vontade para nos enviar um comentário compartilhando suas ideias sobre a nova versão do GroupDocs.Annotation Cloud REST API. Isso nos ajuda a melhorar e refinar continuamente nossa API.