¡Grandes noticias para los desarrolladores! Se presenta todo el nuevo GroupDocs.Annotation Cloud 19.5. Estamos comprometidos con la evolución de la API REST de GroupDocs.Annotation Cloud para que sea más simple y fácil de usar. Con esto en mente, hemos realizado los cambios necesarios en esta versión. La nueva API está más optimizada con menos métodos y opciones. Su arquitectura interna se renovó para un procesamiento rápido y confiable para crear herramientas de anotación de documentos e imágenes con soporte para operaciones de anotación basadas en texto y figuras. Además, ahora la API incluye métodos para trabajar con almacenamiento en la nube. Por lo tanto, puede realizar operaciones de almacenamiento utilizando GroupDocs.Annotation Cloud REST API directamente en lugar de utilizar una API independiente.

Consulte las notas de la versión detalladas para hacerse una idea de todas las nuevas características/mejoras realizadas en esta versión.

Cambios importantes

Nueva versión de la API

Introdujo la versión V2 de la API en la versión 19.5, la V1 seguirá estando disponible.

Autenticación

La autenticación JWT (JSON Web Token) se introduce en esta versión, ahora OAuth2 y los métodos de autenticación de firma de URL están obsoletos ahora.

API de anotaciones

Métodos API simplificados para aplicar anotaciones basadas en texto y figuras a documentos e imágenes de todos los formatos populares.

API de almacenamiento

API de archivo: métodos introducidos para cargar, descargar, copiar, mover y eliminar archivos: documentos de entrada y resultados de procesamiento, en el almacenamiento en la nube

Folder API: métodos introducidos para crear, copiar, mover y eliminar carpetas en el almacenamiento en la nube

API de almacenamiento: métodos introducidos para obtener información de almacenamiento e información de archivos

Agregar anotaciones al documento

Aquí le mostraremos cómo funciona la versión API V2 de GroupDocs.Annotation Cloud y es diferente a la V1. Agregaremos una anotación en un documento de Word usando GroupDocs.Annotation Cloud SDK for .NET siguiendo estos pasos:

  • Subir documento de origen al almacenamiento
  • Agregar anotación al documento de origen

Necesitamos cargar el documento de origen en el almacenamiento en la nube, ya que en este ejemplo procesaremos el documento desde el almacenamiento en la nube. En el lanzamiento, presentamos File API para operaciones de almacenamiento de archivos. Usaremos el método UploadFile de la versión API de Annotation V2 en lugar del método GroupDocs.Storage Cloud API para cargar el archivo en el almacenamiento.

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 archivo
	class Upload_File
	{
		public static void Run()
		{
			var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
			var apiInstance = new FileApi(configuration);

			try
			{
				// Abra el archivo en IOStream desde 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);
			}
		}
	}
}

En la versión 19.5, el método PUT para la importación de anotaciones se cambió al método POST, como se muestra en el siguiente código de ejemplo.

Ejemplo V1.1

//TODO: obtenga su AppSID y AppKey en https://dashboard.groupdocs.cloud (se requiere registro gratuito).
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,
        
    };
    // Insertar/Exportar anotaciones al 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);
}

Ejemplo 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
{
	// Publicar/Agregar anotaciones
	class Add_Annotation
	{
		public static void Run()
		{
			var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
			var apiInstance = new AnnotateApi(configuration);

			try
			{
				// Establecer solicitud.
				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);
			}
		}
	}
}

Comparta sus comentarios

¡Tus comentarios son importantes! No dude en enviarnos un comentario compartiendo sus opiniones sobre la nueva versión de GroupDocs.Annotation Cloud REST API. Nos ayuda a mejorar y refinar continuamente nuestra API.