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

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

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

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

Для аннотирования документов PDF я буду использовать API Node.js SDK для GroupDocs.Annotation Cloud. Он позволяет программно создавать инструменты аннотирования документов онлайн. Вы можете добавлять аннотации, наложения водяных знаков, замены текста, исправления и текстовые пометки в поддерживаемые форматы документов. Он также предоставляет SDK для .NET, Java, PHP, Ruby и Python в качестве членов семейства аннотаций документов для Cloud API.

Вы можете установить GroupDocs.Annotation Cloud в свое приложение Node.js с помощью следующей команды в консоли:

npm install groupdocs-annotation-cloud

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

global.clientId = "659fe7da-715b-4744-a0f7-cf469a392b73"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.myStorage = "";

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

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

Вы можете аннотировать свои PDF-документы в облаке, выполнив простые шаги, указанные ниже:

  1. Загрузить файл PDF в облако
  2. Аннотировать PDF-документ с помощью Node.js
  3. Скачать аннотированный файл

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

Во-первых, загрузите файл PDF в облако, используя следующий пример кода:

// инициализировать API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

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

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

Аннотировать PDF-документ с помощью Node.js

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

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

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

// инициализировать API
let комментироватьApi = groupdocs_annotation_cloud.AnnotateApi.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 аннотация расстояния";
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 аннотация области";
a2.creatorName = "Anonym A.";

// аннотация текстового поля
let a3 = new groupdocs_annotation_cloud.AnnotationInfo();
a3.annotationPosition = new groupdocs_annotation_cloud.Point();
a3.annotationPosition.x = 100;
a3.annotationPosition.y = 100;
a3.box = new groupdocs_annotation_cloud.Rectangle();
a3.box.x = 450
a3.box.y = 150
a3.box.width = 100
a3.box.height = 30
a3.pageNumber = 0;
a3.fontColor = 65535;
a3.fontSize = 16;
a3.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.TextField;
a3.text = "Text field text";
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 аннотация эллипса";
a4.creatorName = "Anonym A.";

let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "Output/output.pdf";

// создать запрос аннотации
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// комментировать
let result = await комментироватьApi.комментировать(request);

console.log("Multiple Annotations added: " + result.href);
Аннотируйте PDF-документы с помощью REST API в Node.js

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

Подробнее о поддерживаемых типах аннотаций можно прочитать в разделе добавление аннотаций в документации.

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

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

// построить FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

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

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

Добавьте аннотации к изображениям с помощью Node.js

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

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

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

// инициализировать API
let комментироватьApi = groupdocs_annotation_cloud.AnnotateApi.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 = 160;
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 аннотация к изображению";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";

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

// определить параметры аннотации
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "Output/output.pdf";

// создать запрос на аннотацию
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// комментировать
let result = await комментироватьApi.комментировать(request);

console.log("Image Annotation added: " + result.href);
Добавьте аннотации к изображениям с помощью Node.js

Добавьте аннотации к изображениям с помощью Node.js

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

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

Заключение

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

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