В некоторых случаях нам может потребоваться выделить текстовую фразу, строку или область в документах PDF. Это помогает выделить важный текст полупрозрачным цветом в электронном формате, так же, как мы это делаем маркером на стандартной бумаге. Мы можем использовать функцию выделения программно, используя аннотации выделения в приложениях. В этой статье мы узнаем, как выделить текст в PDF с помощью REST API в Node.js.
В этой статье должны быть раскрыты следующие темы:
REST API для выделения текста PDF и 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, выполнив простые шаги, указанные ниже:
- Загрузить файл PDF в облако
- Выделить текст в загруженном PDF-файле
- Скачать аннотированный файл
Загрузить документ
Во-первых, мы загрузим файл 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);
Вы можете получить необходимое значение цвета по следующей ссылке для использования в качестве цвета фона. 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, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.