Vista previa de comentarios en archivo de MS Word

En el dinámico ámbito de la creación y colaboración de documentos, la capacidad de agregar y administrar comentarios en Microsoft Word es indispensable. Los comentarios funcionan como un foro de discusión virtual, que permite a los colaboradores intercambiar ideas, sugerir mejoras y brindar comentarios sin alterar el contenido original. Esta característica no solo facilita una comunicación eficaz, sino que también mejora el proceso de edición colaborativa, haciéndolo más ágil y eficiente. Por lo tanto, en esta guía, profundizaremos en los aspectos esenciales de agregar y eliminar comentarios, revelando el potencial y los beneficios de esta característica vital en MS Word utilizando la API REST de .NET.

Administrar comentarios mediante la API REST de .NET

La manipulación y adición de comentarios mediante Aspose.Words Cloud SDK for .NET aporta una gran cantidad de beneficios y una amplia gama de funciones que van más allá de la gestión de comentarios. Además de esto, el SDK también ofrece una amplia gama de funciones, entre las que se incluyen la generación de documentos de Word, la conversión de Word a JPG, Word a PDF, Word a ODT, etc., la manipulación de texto y formato, el procesamiento de imágenes y una amplia gama de funciones que le permiten mejorar sus capacidades de procesamiento de documentos para una variedad de escenarios.

Obtener comentarios de archivos DOCX

Puede aprovechar la función de leer todos los comentarios del documento o comentarios específicos. El método GetComments proporciona la capacidad de leer los comentarios del usuario desde un archivo DOCX. A continuación se especifica un comando cURL que puede utilizar para leer los comentarios en el símbolo del sistema.

Comando cURL

Tenga en cuenta que, para leer los comentarios, debe proporcionar los detalles de los documentos almacenados en la nube y que solo los usuarios autorizados obtienen los permisos para acceder a las API. Por lo tanto, primero debe recuperar el token de autenticación JWT y usarlo en el comando mencionado anteriormente.

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"

Una vez generado el token JWT, ejecute el siguiente comando para obtener todos los comentarios dentro del documento de 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 de solicitud

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

C#.NET

Para leer un comentario particular del documento, siga los pasos que se especifican a continuación:

  • Inicializar una instancia de la clase WordsApi.
  • Crea un objeto de la clase GetCommentRequest donde proporcionamos el nombre del archivo de entrada Volume 1.docx y el valor del índice del comentario como argumentos de entrada.
  • Finalmente, inicialice un objeto de CommentResponse mientras pasa el valor devuelto por el método 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/

// inicializar y objeto de WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// nombre del archivo de entrada
String filename= "Volume 1.docx";
// índice de comentarios
int commentIndex = 0;
// create an object of GetCommentRequest where we pass nombre del archivo de entrada 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);
// Crea una instancia de CommentResponse y lee el comentario del documento.
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.GetComment(request);
// mostrar el comentario en la consola
Console.Write(response.Comment);

Obtener todos los comentarios

La API también ofrece la función de obtener todos los comentarios del documento (en caso de que no queramos pasar de un individuo a otro).Para este requisito, es necesario crear una instancia de las clases GetCommentsRequest y CommentsResponse y llamar al método GetComments(..) del objeto WordsApi.

Insertar comentarios en un documento de Word

La API también es capaz de agregar/insertar nuevos objetos de comentario en un documento de Word.

Comando 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/

// inicializar y objeto de WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// nombre del archivo de entrada
String filename = "Volume 1.docx";
// índice de comentarios
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 nombre del archivo de entrada 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);
// Crea una instancia de CommentResponse y lee el comentario del documento.
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.InsertComment(request);
Insertar vista previa de comentarios.

Imagen 1: vista previa del comentario recién insertado

Actualizar comentarios en archivo Word

Además del análisis y la adición de comentarios, la API también admite la función para actualizar los comentarios existentes dentro del documento de Word.

Comando 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

Para actualizar programáticamente los comentarios en un documento de Word, siga las instrucciones que se especifican a continuación.

  • Crea una instancia de la clase WordsApi.
  • Crea un objeto de NodeLink que define el comentario NodeID.
  • Se crea un nuevo objeto de la clase DocumentPosition que define los valores RangeStart y RangeEnd.
  • Cree un objeto de CommentUpdate que defina las iniciales del comentario, el nombre del autor, los detalles de RangeStart y RangeEnd asignando el valor de instancia de DocumentPosition y el texto que se actualizará en el comentario.
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/

// inicializar y objeto de WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// nombre del archivo de entrada
String filename = "Volume 1.docx";
// índice de comentarios
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 nombre del archivo de entrada 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);
// Crea una instancia de CommentResponse y lee el comentario del documento.
Aspose.Words.Cloud.Sdk.Model.CommentResponse response = wordsApi.UpdateComment(request);
Actualizar vista previa de comentarios

Imagen 2: vista previa de los comentarios actualizados

También se adjunta el documento resultante Volumen 1 - actualizado.docx.

Eliminar comentarios de un documento de Word

También puede eliminar/borrar los comentarios del archivo de Word utilizando la API de nube REST.

Comando 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

  • Crea un objeto de la clase WordsApi.
  • Crea una instancia de la clase DeleteCommentRequest que toma un archivo de entrada y un índice de comentario como argumento.
  • Finalmente, el método DeleteComment(…) tiene el objeto DeleteCommentRequest como argumento.
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/

// inicializar y objeto de WordsApi
Aspose.Words.Cloud.Sdk.WordsApi wordsApi = new Aspose.Words.Cloud.Sdk.WordsApi(clientID, clientSecret);

// nombre del archivo de entrada
String filename = "Volume 1.docx";
// índice de comentarios
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);
Vista previa de comentarios eliminados

Imagen 3: vista previa de los comentarios eliminados