개발자를 위한 희소식! 완전히 새로운 GroupDocs.Annotation Cloud 19.5가 도입되었습니다. 우리는 GroupDocs.Annotation Cloud REST API를 더욱 단순화하고 사용하기 쉽게 만들기 위해 노력하고 있습니다. 이를 염두에 두고 이 버전에서 필요한 사항을 변경했습니다. 새로운 API는 더 적은 방법과 옵션으로 더욱 최적화되었습니다. 텍스트 및 그림 기반 주석 작업을 지원하는 문서 및 이미지 주석 도구를 구축하기 위해 빠르고 안정적인 처리를 위해 내부 아키텍처가 개선되었습니다. 또한 이제 API에는 클라우드 스토리지 작업을 위한 메서드가 포함됩니다. 따라서 별도의 API를 사용하지 않고 GroupDocs.Annotation Cloud REST API를 직접 사용하여 스토리지 작업을 수행할 수 있습니다.

이 릴리스의 모든 새로운 기능/개선 사항에 대한 아이디어를 얻으려면 자세한 이 버전의 릴리스 노트를 확인하십시오.

브레이킹 체인지

새 API 버전

19.5 버전에서 API 버전 V2를 도입했으며 V1은 계속 사용할 수 있습니다.

입증

JWT(JSON Web Token) 인증이 이 릴리스에 도입되었으며 이제 OAuth2 및 URL 서명 인증 방법은 더 이상 사용되지 않습니다.

주석 API

모든 대중적인 형식의 문서 및 이미지에 텍스트 및 그림 기반 주석을 적용하는 간소화된 API 방법.

저장소 API

파일 API – 클라우드 스토리지에서 파일 업로드, 다운로드, 복사, 이동, 삭제 방법 도입 : 입력 문서 및 렌더링 결과

Folder API - 클라우드 스토리지의 폴더 생성, 복사, 이동, 삭제 방법 도입

스토리지 API - 스토리지 정보 및 파일 정보를 가져오는 방법 도입

문서에 주석 추가

여기에서는 GroupDocs.Annotation Cloud V2 API 버전의 작동 방식과 V1과 다른 점을 보여드리겠습니다. 다음 단계에 따라 .NET용 GroupDocs.Annotation Cloud SDK를 사용하여 Word 문서에 주석을 추가합니다.

  • 저장소에 원본 문서 업로드
  • 소스 문서에 주석 추가

이 예제에서 클라우드 스토리지의 문서를 처리할 것이므로 원본 문서를 클라우드 스토리지에 업로드해야 합니다. 릴리스에서는 파일 스토리지 작업을 위한 파일 API를 도입했습니다. GroupDocs.Storage Cloud API 방식 대신 Annotation V2 API 버전의 UploadFile 방식을 사용하여 저장소에 파일을 업로드합니다.

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 예

//TODO: https://dashboard.groupdocs.cloud에서 AppSID 및 AppKey를 받으십시오(무료 등록 필요).
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를 지속적으로 개선하고 개선하는 데 도움이 됩니다.