Виділіть текст у PDF за допомогою REST API у Node.js

У деяких випадках нам може знадобитися виділити текстову фразу, рядок або область у документах PDF. Це допомагає виділити важливий текст напівпрозорим кольором в електронному форматі, так само, як ми це робимо маркером на стандартному папері. Ми можемо використовувати функцію підсвічування програмно, використовуючи анотації підсвічування в програмах. У цій статті ми дізнаємося, як виділяти текст у PDF за допомогою REST API у Node.js.

У цій статті будуть розглянуті такі теми:

PDF Text Highlighter REST API та Node.js SDK

Для виділення тексту у файлах PDF ми будемо використовувати 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";

Виділіть текст у PDF за допомогою REST API у Node.js

Ми можемо виділити текст у файлах PDF, виконавши прості дії, наведені нижче:

  1. Завантажте PDF-файл у хмару
  2. Виділити текст у завантаженому PDF-файлі
  3. Завантажити анотований файл

Завантажте документ

По-перше, ми завантажимо PDF-файл у хмару за допомогою зразка коду, наведеного нижче:

// Цей приклад коду демонструє, як завантажити PDF-файл у хмару.
// Ініціалізація екземпляра API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Відкрити файл в IOStream з локального/диска.
var resourcesFolder = 'C:\\Files\\Annotation\\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 та встановіть колір і тип фону.
  • Далі вкажіть шлях до вхідного файлу.
  • Потім ініціалізуйте об’єкт AnnotateOptions і встановіть вихідний шлях до файлу.
  • Після цього створіть AnnotateRequest з AnnotateOptions як аргумент.
  • Нарешті, виділіть текст у PDF за допомогою методу AnnotateApi.annotate().

У наведеному нижче прикладі коду показано, як виділити текст у PDF-документі за допомогою REST API у Node.js.

// У цьому прикладі коду показано, як додати виділені анотації до файлу PDF.
// Ініціалізація екземпляра API
let annotateApi = groupdocs_annotation_cloud.АнотуйтеApi.fromKeys(clientId, clientSecret);

// Визначити анотацію
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();

// Пункт 1
let p1 = new groupdocs_annotation_cloud.Point();
p1.x = 30;
p1.y = 710;

// Пункт 2
let p2 = new groupdocs_annotation_cloud.Point();
p2.x = 460;
p2.y = 710;

// Пункт 3
let p3 = new groupdocs_annotation_cloud.Point();
p3.x = 30;
p3.y = 690;

// Пункт 4
let p4 = new groupdocs_annotation_cloud.Point();
p4.x = 460;
p4.y = 690;

// Додайте бали
a1.points = [p1, p2, p3, p4];

// Колір фону
a1.backgroundColor = 3329434;

// Тип
a1.type = groupdocs_annotation_cloud.AnnotationInfo.ТипEnum.TextHighlight;

// Вхідний файл
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// Визначте АнотуйтеOptions
let options = new groupdocs_annotation_cloud.АнотуйтеOptions();
options.fileInfo = fileInfo;

// Призначити анотацію
options.annotations = [a1];

// Шлях вихідного файлу
options.outputPath = "output.pdf";

// Створити запит на анотацію
let request = new groupdocs_annotation_cloud.АнотуйтеRequest(options);

// Анотуйте
let result = await annotateApi.annotate(request);

// Готово
console.log("AddAreaAnnotation: Area Annotation added: " + result.href);
Виділіть текст у PDF-документі за допомогою Node.js

Виділіть текст у PDF-документі за допомогою Node.js

Ви можете отримати необхідне значення кольору за наступним посиланням, щоб використовувати його як колір фону. https://docs.microsoft.com/en-us/office/vba/api/excel.xlrgbcolor

Завантажте анотований файл

Наведений вище зразок коду збереже анотований PDF-файл у хмарі. Його можна завантажити за допомогою наступного зразка коду:

// Цей приклад коду демонструє, як завантажити PDF-файл із хмари.
// Побудуйте FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Створити запит на завантаження файлу
let request = new groupdocs_annotation_cloud.DownloadFileRequest("output.pdf", myStorage);

// Завантажити файл
let response = await fileApi.downloadFile(request);

// Збережіть файл у своїй робочій директорії
fs.writeFile("C:\\Files\\Annotation\\output.pdf", response, "binary", function (err) { });

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

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

Висновок

У цій статті ми дізналися, як:

  • додавати виділені анотації до PDF за допомогою Node.js;
  • програмно завантажити PDF-файл у хмару;
  • завантажте PDF-файл із коментарями з хмари.

Крім того, ви можете дізнатися більше про GroupDocs.Annotation Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також