Чудова новина для розробників! Представлено всі нові GroupDocs.Annotation Cloud 19.5. Ми прагнемо розвивати GroupDocs.Annotation Cloud REST API, щоб зробити його більш спрощеним і легким у використанні. Зважаючи на це, ми внесли необхідні зміни в цю версію. Новий API більш оптимізований із меншою кількістю методів і параметрів. Його внутрішню архітектуру оновлено для швидкої та надійної обробки для створення інструментів анотації документів і зображень із підтримкою операцій анотації на основі тексту та малюнків. Також тепер API включає методи роботи з хмарним сховищем. Таким чином, ви можете виконувати операції зберігання безпосередньо за допомогою GroupDocs.Annotation Cloud REST API замість використання окремого API.

Будь ласка, перегляньте докладні примітки до випуску цієї версії, щоб отримати уявлення про всі нові функції/покращення, зроблені в цьому випуску.

Ключові зміни

Нова версія API

Представлено версію API V2 у версії 19.5, V1 залишиться доступною.

Аутентифікація

У цьому випуску представлено автентифікацію JWT (JSON Web Token), тепер методи автентифікації OAuth2 і підписання URL-адреси застаріли.

API анотацій

Спрощені методи API для застосування анотацій на основі тексту та малюнків до документів і зображень усіх популярних форматів.

API зберігання

File API – Представлено методи завантаження, завантаження, копіювання, переміщення, видалення файлів: введення документів і результатів візуалізації в хмарному сховищі

Folder API - Представлено методи для створення, копіювання, переміщення та видалення папок у хмарному сховищі

API сховища – представлено методи отримання інформації про сховище та файлів

Додати анотації до документа

Тут ми покажемо вам, як працює версія API GroupDocs.Annotation Cloud V2, яка відрізняється від V1. Ми додамо анотацію в документ Word за допомогою GroupDocs.Annotation Cloud SDK для .NET, виконавши такі дії:

  • Завантажте вихідний документ у сховище
  • Додайте анотацію до вихідного документа

Нам потрібно завантажити вихідний документ у хмарне сховище, оскільки в цьому прикладі ми будемо обробляти документ із хмарного сховища. У випуску ми представили File API для операцій зберігання файлів. Ми використовуватимемо метод UploadFile версії API Annotation V2 замість методу GroupDocs.Storage Cloud API для завантаження файлу в сховище.

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
{
	// Завантажити файл
	class Upload_File
	{
		public static void Run()
		{
			var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
			var apiInstance = new FileApi(configuration);

			try
			{
				// Відкрити файл в IOStream з локального/диска.
				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);
			}
		}
	}
}

У версії 19.5 метод PUT для імпорту анотації було змінено на метод POST, як показано в наступному зразку коду.

Приклад V1.1

//ЗАВДАННЯ: Отримайте AppSID і AppKey на https://dashboard.groupdocs.cloud (потрібна безкоштовна реєстрація).
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,
        
    };
    // Вставити/експортувати анотації до документа.
    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);
}

Приклад 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
{
	// Опублікувати/Додати анотації
	class Add_Annotation
	{
		public static void Run()
		{
			var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey);
			var apiInstance = new AnnotateApi(configuration);

			try
			{
				// Встановити запит.
				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);
			}
		}
	}
}

Поділіться своїм відгуком

Ваш відгук важливий! Будь ласка, напишіть нам коментар і поділіться своїми думками щодо нової версії GroupDocs.Annotation Cloud REST API. Це допомагає нам постійно вдосконалювати та вдосконалювати наш API.