Предварительный просмотр комментариев в файле MS Word

В динамичной сфере создания документов и совместной работы возможность добавлять и управлять комментариями в Microsoft Word является незаменимой. Комментарии служат виртуальной доской для обсуждений, позволяя соавторам обмениваться мыслями, предлагать улучшения и предоставлять обратную связь, не изменяя исходный контент. Эта функция не только способствует эффективному общению, но и улучшает процесс совместного редактирования, делая его более рационализированным и эффективным. Поэтому в этом руководстве мы углубимся в основные аспекты добавления и удаления комментариев, раскрывая потенциал и преимущества этой важной функции в MS Word с использованием .NET REST API.

Управление комментариями с помощью .NET REST API

Управление и добавление комментариев с помощью Aspose.Words Cloud SDK для .NET приносит массу преимуществ и широкий спектр возможностей, выходящих за рамки простого управления комментариями. Помимо этого, SDK также предлагает широкий спектр возможностей, включая генерацию документов Word, преобразование Word в JPG, Word в PDF, Word в ODT и т. д., манипуляцию текстом и форматированием, обработку изображений и широкий спектр функций, позволяющих вам улучшить возможности обработки документов для множества сценариев.

Получить комментарии из файлов DOCX

Вы можете использовать для чтения всех или определенных комментариев из документа. Метод GetComments предоставляет возможности для чтения пользовательских комментариев из файла DOCX. Ниже указана команда cURL, которую вы можете использовать для чтения комментариев в командной строке.

команда cURL

Обратите внимание, что для чтения комментариев вам необходимо предоставить данные о документах, хранящихся в облачном хранилище, а также только авторизованные пользователи могут получить разрешения на доступ к API. Поэтому вам необходимо сначала получить токен аутентификации JWT и использовать его в команде, как указано выше.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=xxxxxxx-1c8e-4ea4-a948-3857547232fa&client_secret=xxxxxx" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accpet: application/json"

После генерации токена JWT выполните следующую команду, чтобы получить все комментарии в документе Word.

curl -v "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments" \
-X GET \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>"

Запросить URL-адрес

https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments

C#.NET

Чтобы прочитать конкретный комментарий из документа, выполните следующие действия:

  • Инициализируйте экземпляр класса WordsApi.
  • Создаем объект класса GetCommentRequest, где в качестве входных аргументов указываем имя входного файла Volume 1.docx и значение индекса комментария.
  • Наконец, инициализируйте объект CommentResponse, передав значение, возвращаемое методом GetComment(..).
const string clientID = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/

// инициализация и объект WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// имя входного файла
String filename= "Volume 1.docx";
// индекс комментария
int commentIndex = 0;
// create an object of GetCommentRequest where we pass имя входного файла and comment index value
Aspose.Words.Cloud.Sdk.Model.Requests.GetCommentRequest request = new Aspose.Words.Cloud.Sdk.Model.Requests.GetCommentRequest(filename, commentIndex, null, null, null, null);
// создать экземпляр CommentResponse и прочитать комментарий из документа
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.GetComment(request);
// отобразить комментарий в консоли
Console.Write(response.Comment);

Получить все комментарии

API также предлагает функцию получения всех комментариев из документа (в случае, если мы не хотим перемещаться между отдельными лицами).Для этого требования вам необходимо создать экземпляр классов GetCommentsRequest, CommentsResponse и вызвать метод GetComments(..) объекта WordsApi.

Вставить комментарии в документ Word

API также позволяет добавлять/вставлять новые объекты комментариев в документ Word.

команда cURL

curl -v "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments" \
-X POST \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{\"RangeStart\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/1/runs/0\",\"Rel\":\"self\",\"Type\":\"string\",\"Title\":\"Heading 2\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"RangeEnd\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/5/runs/0\",\"Rel\":\"self\",\"Type\":\"string\",\"Title\":\"Heading 2\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"Author\":\"Nayyer Shahbaz\",\"Initial\":\"MOU\",\"DateTime\":\"2020-12-07T04:10:03.942Z\",\"Text\":\"Comments Inserted using Aspose.Words Cloud API\"}"

C#.NET

const string clientID = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/

// инициализация и объект WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// имя входного файла
String filename = "Volume 1.docx";
// индекс комментария
int commentIndex = 0;

Aspose.Words.Cloud.Sdk.Model.NodeLink link = new Aspose.Words.Cloud.Sdk.Model.NodeLink()
{
    NodeId = "0.1.0.1.1.1.1"
};
Aspose.Words.Cloud.Sdk.Model.DocumentPosition documentPosition = new Aspose.Words.Cloud.Sdk.Model.DocumentPosition()
{
    Node = link,
    Offset = 0
};
Aspose.Words.Cloud.Sdk.Model.CommentInsert commentInsert = new Aspose.Words.Cloud.Sdk.Model.CommentInsert()
{
    Initial = "Aspose",
    Author = "Nayyer Shahbaz",
    RangeStart = documentPosition,
    RangeEnd = documentPosition,
    Text = "Comment added through API"
};


// create an object of GetCommentRequest where we pass имя входного файла and comment index value
Aspose.Words.Cloud.Sdk.Model.Requests.InsertCommentRequest request = 
  new Aspose.Words.Cloud.Sdk.Model.Requests.InsertCommentRequest(filename, commentInsert, null, null, null);
// создать экземпляр CommentResponse и прочитать комментарий из документа
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.InsertComment(request);
Вставьте предварительный просмотр комментариев.

Изображение 1:- предварительный просмотр недавно вставленного комментария

Обновить комментарии в файле Word

Помимо анализа и добавления комментариев, API также поддерживает функцию обновления существующих комментариев внутри документа Word.

команда cURL

curl -X PUT "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments/1" \
-H "accept: application/json" \
-H "Authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{\"RangeStart\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/1/runs/0\",\"Rel\":\"self\",\"Type\":\"string\",\"Title\":\"Heading 1\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"RangeEnd\":{\"Node\":{\"link\":{\"Href\":\"https://api.aspose.cloud/v4.0/words/Volume 1.docx/sections/0/body/tables/0/rows/1/cells/1/paragraphs/1/runs/0\",\"Rel\":\"string\",\"Type\":\"string\",\"Title\":\"Heading 1\"},\"NodeId\":\"0.1.0.1.1.1.1\"},\"Offset\":0},\"Author\":\"Nayyer Shahbaz\",\"Initial\":\"Aspose.Words\",\"DateTime\":\"2020-12-07T06:18:31.348Z\",\"Text\":\"Comments updated using Aspose.Words Cloud API\"}"

C#.NET

Чтобы программно обновить комментарии в документе Word, следуйте инструкциям, указанным ниже.

  • Создайте экземпляр класса WordsApi.
  • Создайте объект NodeLink, который определяет комментарий NodeID.
  • Создается новый объект класса DocumentPosition, который определяет значения RangeStart и RangeEnd.
  • Создайте объект CommentUpdate, который определяет инициалы комментария, имя автора, сведения о RangeStart и RangeEnd, назначая значение экземпляра DocumentPosition и текст, который необходимо обновить в комментарии.
const string clientID = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/

// инициализация и объект WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// имя входного файла
String filename = "Volume 1.docx";
// индекс комментария
int commentIndex = 1;

Aspose.Words.Cloud.Sdk.Model.NodeLink link = new Aspose.Words.Cloud.Sdk.Model.NodeLink()
{
    NodeId = "0.1.0.1.1.1.1"
};
Aspose.Words.Cloud.Sdk.Model.DocumentPosition documentPosition = new Aspose.Words.Cloud.Sdk.Model.DocumentPosition()
{
    Node = link,
    Offset = 0
};
Aspose.Words.Cloud.Sdk.Model.CommentUpdate commentUpdate = new Aspose.Words.Cloud.Sdk.Model.CommentUpdate()
{
    Initial = "Aspose",
    Author = "Nayyer Shahbaz",
    RangeStart = documentPosition,
    RangeEnd = documentPosition,
    Text = "Comments updated using Aspose.Words Cloud API"
};

// create an object of GetCommentRequest where we pass имя входного файла and comment index value
Aspose.Words.Cloud.Sdk.Model.Requests.UpdateCommentRequest request =
                    new Aspose.Words.Cloud.Sdk.Model.Requests.UpdateCommentRequest(filename, commentIndex, commentUpdate, null, null, null);
// создать экземпляр CommentResponse и прочитать комментарий из документа
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.UpdateComment(request);
Обновление комментариев предварительный просмотр

Изображение 2:- предварительный просмотр обновленных комментариев

Полученный документ Том 1 - обновлен.docx также прилагается.

Удалить комментарии из документа Word

Вы также можете удалить комментарии из файла Word с помощью REST Cloud API.

команда cURL

curl -X DELETE "https://api.aspose.cloud/v4.0/words/Volume%201.docx/comments/0" \
-H "accept: /" \
-H "Authorization: Bearer <JWT Token>"

C#.NET

  • Создайте объект класса WordsApi.
  • Создайте экземпляр класса DeleteCommentRequest, который принимает входной файл и индекс комментария в качестве аргумента.
  • Наконец, метод DeleteComment(…) имеет объект DeleteCommentRequest в качестве аргумента.
const string clientID = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
const string clientSecret = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/

// инициализация и объект WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// имя входного файла
String filename = "Volume 1.docx";
// индекс комментария
int commentIndex = 0;


Aspose.Words.Cloud.Sdk.Model.Requests.DeleteCommentRequest request = 
  new Aspose.Words.Cloud.Sdk.Model.Requests.DeleteCommentRequest(filename, commentIndex, null, null, null, null, null, null, null);
wordsApi.DeleteComment(request);
Предварительный просмотр удаленных комментариев

Изображение 3:- предварительный просмотр удаленных комментариев