попередній перегляд коментарів у файлі 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 - updated.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: попередній перегляд видалених коментарів