Как разработчик Node.js, вы можете легко аннотировать любые свои PDF-документы программно в облаке. Вы можете добавлять изображения, комментарии, примечания или другие типы внешних примечаний к документу в качестве аннотаций. В этой статье вы узнаете, как аннотировать PDF-документы с помощью REST API в Node.js.
В этой статье должны быть раскрыты следующие темы:
- REST API и Node.js SDK для аннотаций к документам
- Аннотируйте PDF-документы с помощью REST API в Node.js
- Добавьте аннотации к изображениям с помощью 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-документы в облаке, выполнив простые шаги, указанные ниже:
- Загрузить файл PDF в облако
- Аннотировать PDF-документ с помощью Node.js
- Скачать аннотированный файл
Загрузить документ
Во-первых, загрузите файл 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-файл в облаке. Вы можете загрузить его, используя следующий пример кода:
// построить 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);
Попробуйте онлайн
Попробуйте следующий бесплатный онлайн-инструмент для создания аннотаций PDF, разработанный с использованием указанного выше API. https://products.groupdocs.app/annotation/pdf
Заключение
В этой статье вы узнали, как добавлять несколько аннотаций в документы PDF в облаке. Вы также узнали, как программно добавлять аннотации к изображениям в документы PDF. Кроме того, вы узнали, как программно загрузить PDF-файл в облако, а затем загрузить файл с комментариями из облака. Вы можете узнать больше о GroupDocs.Annotation Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.