Добавление аннотаций в документы Word с помощью REST API в Node.js

Мы можем легко аннотировать документы Word программно в облаке. Мы можем добавлять изображения, комментарии, заметки или другие типы внешних замечаний к документам в качестве аннотаций. В этой статье мы узнаем, как добавлять аннотации в документы Word с помощью REST API в Node.js.

В этой статье должны быть раскрыты следующие темы:

REST API и Node.js SDK для аннотаций к документам Word

Для аннотирования файлов DOC или DOCX мы будем использовать API Node.js SDK для GroupDocs.Annotation Cloud. Пожалуйста, установите его с помощью следующей команды в консоли:

npm install groupdocs-annotation-cloud

Пожалуйста, получите свой идентификатор клиента и секрет из панели инструментов, прежде чем выполнять указанные шаги. Получив свой идентификатор и секрет, добавьте код, как показано ниже:

global.clientId = "659fe7da-715b-4744-a0f7-cf469a392b73"; 
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421";
global.myStorage = "";

const configuration = new groupdocs_annotation_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Аннотируйте документы Word с помощью REST API в Node.js

Мы можем добавить аннотации к файлам DOCX, выполнив простые шаги, указанные ниже:

Загрузить документ

Во-первых, мы загрузим файл DOCX в облако, используя приведенный ниже пример кода:

// Инициализировать API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);
// Откройте файл в IOStream с локального диска/диска.
var resourcesFolder = 'C:\\Files\\Annotation\\sample.docx';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Создать запрос на загрузку
  var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  // Загрузить файл
  fileApi.uploadFile(request);
});

В результате загруженный файл DOCX будет доступен в разделе файлов панели инструментов в облаке.

Добавить несколько аннотаций в файлы DOCX в Node.js

Мы можем программно добавить несколько аннотаций к документам Word, выполнив следующие шаги:

  • Во-первых, создайте экземпляр AnnotateApi.
  • Затем создайте первый экземпляр AnnotationInfo.
  • Затем установите свойства аннотации для первого экземпляра, например положение, тип, текст и т. д.
  • Повторите вышеуказанные шаги, чтобы добавить несколько экземпляров AnnotationInfo. Мы установим разные типы аннотаций и другие свойства для каждого экземпляра, чтобы добавить несколько аннотаций.
  • Затем создайте экземпляр FileInfo и задайте путь к входному файлу.
  • Затем создайте экземпляр AnnotateOptions.
  • Теперь назначьте FileInfo и определенные экземпляры аннотации для AnnotateOptions.
  • Также укажите путь к выходному файлу.
  • После этого вызовите метод AnnotateRequest с AnnotateOptions.
  • Наконец, получите результаты, вызвав метод AnnotateApi.annotate() с AnnotateRequest.

В следующем примере кода показано, как добавить несколько аннотаций в документ Word с помощью REST API в Node.js.

// Инициализировать API
let annotateApi = groupdocs_annotation_cloud.АннотироватьApi.fromKeys(clientId, clientSecret);

// Определить аннотацию расстояния
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 100
a1.pageNumber = 0
a1.penColor = 1201033
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 3
a1.opacity = 1
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Distance;
a1.text = "This is distance annotation";
a1.creatorName = "Anonym A.";

// Определить аннотацию области
let a2 = new groupdocs_annotation_cloud.AnnotationInfo();
a2.annotationPosition = new groupdocs_annotation_cloud.Point();
a2.annotationPosition.x = 1;
a2.annotationPosition.y = 1;
a2.box = new groupdocs_annotation_cloud.Rectangle();
a2.box.x = 80
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.penColor = 1201033;
a2.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a2.pageNumber = 0;
a2.penWidth = 3;
a2.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Area;
a2.text = "This is area annotation";
a2.creatorName = "Anonym A.";

// Определить аннотацию со стрелкой
let a3 = new groupdocs_annotation_cloud.AnnotationInfo();
a3.annotationPosition = new groupdocs_annotation_cloud.Point();
a3.annotationPosition.x = 1;
a3.annotationPosition.y = 1;
a3.box = new groupdocs_annotation_cloud.Rectangle();
a3.box.x = 100;
a3.box.y = 100;
a3.box.width = 200;
a3.box.height = 100;
a3.pageNumber = 0;
a3.penColor = 1201033;
a3.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a3.penWidth = 1;
a3.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Arrow;
a3.text = "This is arrow annotation";
a3.creatorName = "Anonym A.";

// Определить аннотацию эллипса
let a4 = new groupdocs_annotation_cloud.AnnotationInfo();
a4.annotationPosition = new groupdocs_annotation_cloud.Point();
a4.annotationPosition.x = 1;
a4.annotationPosition.y = 1;
a4.box = new groupdocs_annotation_cloud.Rectangle();
a4.box.x = 350;
a4.box.y = 350;
a4.box.width = 200;
a4.box.height = 100;
a4.pageNumber = 0;
a4.penColor = 1201033;
a4.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a4.penWidth = 4;
a4.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Ellipse;
a4.text = "This is ellipse annotation";
a4.creatorName = "Anonym A.";

// Путь к входному файлу
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Определить параметры аннотации
let options = new groupdocs_annotation_cloud.АннотироватьOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "AddMultipleAnnotations.docx";

// Создать запрос на аннотацию
let request = new groupdocs_annotation_cloud.АннотироватьRequest(options);

// Аннотировать
let result = await annotateApi.annotate(request);
Добавить несколько аннотаций в файлы DOCX в Node.js

Добавить несколько аннотаций в файлы DOCX в Node.js

Загрузите аннотированный файл

Приведенный выше пример кода сохранит аннотированный документ Word (DOCX) в облаке. Его можно загрузить с помощью следующего примера кода:

// Создать FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Создать запрос на скачивание файла
let request = new groupdocs_annotation_cloud.DownloadFileRequest("AddMultipleAnnotations.docx", myStorage);
// Загрузить файл
let response = await fileApi.downloadFile(request);

// Сохранить файл в рабочем каталоге
fs.writeFile("C:\\Files\\Annotation\\AddMultipleAnnotations.docx", response, "binary", function (err) { });

Добавление аннотаций к изображениям в документы Word с помощью REST API в Node.js

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

  • Во-первых, создайте экземпляр AnnotateApi.
  • Затем создайте экземпляр AnnotationInfo.
  • Затем определите прямоугольник и задайте его положение, высоту и ширину.
  • После этого задайте свойства аннотации, например положение, текст, высоту, ширину и т. д.
  • Затем установите тип аннотации как Изображение.
  • Затем создайте экземпляр FileInfo и задайте путь к входному файлу.
  • Затем создайте экземпляр AnnotateOptions.
  • Теперь назначьте объект FileInfo и аннотацию для AnnotateOptions.
  • Также укажите путь к выходному файлу.
  • После этого создайте запрос, вызвав метод AnnotateRequest с объектом AnnotateOptions в качестве аргумента.
  • Наконец, получите результаты, вызвав метод AnnotateApi.annotate() с объектом AnnotateRequest.

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

// Инициализировать API
let annotateApi = groupdocs_annotation_cloud.АннотироватьApi.fromKeys(clientId, clientSecret);

// Определить аннотацию к изображению
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 300;
a1.box.y = 320;
a1.box.width = 200;
a1.box.height = 40;
a1.pageNumber = 0;
a1.penColor = 1201033;
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 1;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Image;
a1.text = "This is image annotation";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";

// Путь к входному файлу
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Определить параметры аннотаций
let options = new groupdocs_annotation_cloud.АннотироватьOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddImageAnnotation.docx";

// Создать запрос на аннотацию
let request = new groupdocs_annotation_cloud.АннотироватьRequest(options);

// Аннотировать
let result = await annotateApi.annotate(request);
Добавление аннотаций к изображениям в документы Word с помощью REST API в Node.js

Добавление аннотаций к изображениям в документы Word с помощью REST API в Node.js

Добавление аннотаций текстовых полей в документы Word с помощью REST API в Node.js

Мы можем программно добавлять аннотации к текстовым полям в документы Word, выполнив шаги, упомянутые ранее. Однако нам нужно установить тип аннотации как TextField.

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

// Инициализировать API
let annotateApi = groupdocs_annotation_cloud.АннотироватьApi.fromKeys(clientId, clientSecret);

// Определить аннотацию текстового поля
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 300;
a1.box.y = 310;
a1.box.width = 200;
a1.box.height = 50;
a1.pageNumber = 0;
a1.fontColor = 3093151;
a1.fontSize = 12;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.TextField;
a1.text = "Text field text";
a1.creatorName = "Anonym A.";

// Путь к входному файлу
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Определить параметры аннотаций
let options = new groupdocs_annotation_cloud.АннотироватьOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddTextFieldAnnotation.docx";

// Создать запрос на аннотацию
let request = new groupdocs_annotation_cloud.АннотироватьRequest(options);

// Аннотировать
let result = await annotateApi.annotate(request);
Добавление аннотаций в документы Word с помощью REST API в Node.js

Добавление аннотаций текстовых полей в документы Word с помощью REST API в Node.js

Аннотации водяных знаков в документах Word с использованием REST API в Node.js

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

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

// Инициализировать API
let annotateApi = groupdocs_annotation_cloud.АннотироватьApi.fromKeys(clientId, clientSecret);

// Определить аннотацию водяного знака
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 100;
a1.box.y = 700;
a1.box.width = 500;
a1.box.height = 100;
a1.pageNumber = 0;
a1.penColor = 1201033;
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 2;
a1.fontSize = 24;
a1.angle = 75;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Watermark;
a1.text = "This is a watermark annotation";
a1.creatorName = "Anonym A.";

// Путь к входному файлу
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// Определить параметры аннотаций
let options = new groupdocs_annotation_cloud.АннотироватьOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "AddWatermarkAnnotation.docx";

// Создать запрос на аннотацию
let request = new groupdocs_annotation_cloud.АннотироватьRequest(options);

// Аннотировать
let result = await annotateApi.annotate(request);
Аннотации водяных знаков в документах Word с использованием REST API в Node.js

Аннотации водяных знаков в документах Word с использованием REST API в Node.js

Попробуйте онлайн

Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент аннотирования DOCX, который разработан с использованием вышеуказанного API. https://products.groupdocs.app/annotation/docx

Заключение

В этой статье мы узнали, как добавлять аннотации к документам Word в облаке. Мы также увидели, как добавлять аннотации к изображениям и текстовым полям в файл DOCX с помощью REST API в Node.js. В этой статье также объясняется, как программно загрузить файл DOCX в облако, а затем загрузить отредактированный файл из облака. Кроме того, вы можете узнать больше об API GroupDocs.Annotation Cloud с помощью документации. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также