Ottime notizie per gli sviluppatori! Viene introdotto tutto il nuovo GroupDocs.Annotation Cloud 19.5. Ci impegniamo a evolvere l’API REST di GroupDocs.Annotation Cloud per renderla più semplice e facile da usare. Con questo in mente, abbiamo apportato le modifiche necessarie in questa versione. La nuova API è più ottimizzata con meno metodi e opzioni. La sua architettura interna è stata rinnovata per un’elaborazione rapida e affidabile per creare strumenti di annotazione di documenti e immagini con supporto per operazioni di annotazione basate su testo e figure. Inoltre ora l’API include metodi per lavorare con il cloud storage. Quindi puoi eseguire operazioni di archiviazione utilizzando direttamente l’API REST di GroupDocs.Annotation Cloud invece di utilizzare un’API separata.

Si prega di controllare le note di rilascio di questa versione dettagliate per avere un’idea di tutte le nuove funzionalità/miglioramenti apportati in questa versione.

Rompere le modifiche

Nuova versione dell’API

Introdotta la versione API V2 nella versione 19.5, la V1 rimarrà disponibile.

Autenticazione

L’autenticazione JWT (JSON Web Token) è stata introdotta in questa versione, ora i metodi di autenticazione OAuth2 e firma URL sono ora obsoleti.

API di annotazione

Metodi API semplificati per applicare annotazioni basate su testo e figure a documenti e immagini di tutti i formati più diffusi.

API di archiviazione

File API – Introdotti metodi per caricare, scaricare, copiare, spostare, eliminare file: documenti di input e risultati di rendering, nel cloud storage

Folder API - Introdotti metodi per creare, copiare, spostare, eliminare cartelle nel cloud storage

API di archiviazione - Introdotti metodi per ottenere informazioni sull’archiviazione e informazioni sui file

Aggiungi annotazioni al documento

Qui ti mostreremo come funziona la versione dell’API GroupDocs.Annotation Cloud V2 ed è diversa dalla V1. Aggiungeremo l’annotazione in un documento di Word utilizzando GroupDocs.Annotation Cloud SDK per .NET seguendo questi passaggi:

  • Carica il documento di origine in Archiviazione
  • Aggiungi annotazioni al documento di origine

Dobbiamo caricare il documento di origine nell’archivio cloud poiché in questo esempio elaboreremo il documento dall’archivio cloud. Nella versione abbiamo introdotto File API per le operazioni di archiviazione dei file. Utilizzeremo il metodo UploadFile della versione dell’API Annotation V2 invece del metodo GroupDocs.Storage Cloud API per caricare il file nell’archivio.

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

			try
			{
				// Apri il file in IOStream da locale/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);
			}
		}
	}
}

Nella versione 19.5, il metodo PUT per l’importazione dell’annotazione è stato modificato nel metodo POST, come mostrato nel seguente codice di esempio.

Esempio V1.1

//TODO: Ottieni il tuo AppSID e AppKey su https://dashboard.groupdocs.cloud (è richiesta la registrazione gratuita).
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,
        
    };
    // Inserisci/Esporta annotazioni nel 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);
}

Esempio 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
{
	// Pubblica/Aggiungi annotazioni
	class Add_Annotation
	{
		public static void Run()
		{
			var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
			var apiInstance = new AnnotateApi(configuration);

			try
			{
				// Imposta richiesta.
				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);
			}
		}
	}
}

Condividi il tuo feedback

Il tuo feedback è importante! Non esitare a inviarci un commento condividendo le tue opinioni sulla nuova versione dell’API REST di GroupDocs.Annotation Cloud. Ci aiuta a migliorare e perfezionare continuamente la nostra API.