Видобувайте зображення з PDF-файлів за допомогою Node.js

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

У цій статті будуть розглянуті наступні теми, щоб отримати фотографії з PDF-файлу:

Image Extractor REST API та Node.js SDK

Для отримання зображень із PDF-документів ми будемо використовувати API Node.js SDK GroupDocs.Parser Cloud. Він дозволяє видобувати текст, зображення та аналізувати дані за допомогою шаблону з усіх популярних форматів документів. Встановіть його за допомогою такої команди в консолі:

npm install groupdocs-parser-cloud

Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:

// Цей приклад коду демонструє, як додати свій ідентифікатор клієнта та секрет у код.
global.clientId = '659fe7da-715b-4744-a0f7-cf469a392b73';
global.clientSecret = 'b377c36cfa28fa69960ebac6b6e36421';
global.myStorage = "";

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

Видобувайте зображення з PDF за допомогою REST API у Node.js

Ми можемо отримати зображення з PDF-документів, виконавши прості дії, згадані нижче:

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

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

// Цей приклад коду демонструє, як завантажити PDF-файл у хмару за допомогою node.js 
// Побудуйте FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Вхідний шлях до файлу
let resourcesFolder = 'C:\\Files\\Parser\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Запит на завантаження файлу
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // Завантажити файл
  fileApi.uploadFile(request);
});

У результаті завантажений PDF-файл буде доступний у розділі файлів інформаційної панелі в хмарі. Цей файл доступний для вилучення зображення з pdf.

Витягніть усі зображення з файлу PDF у Node.js

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

  • По-перше, створіть екземпляр ParseApi.
  • Далі вкажіть шлях до завантаженого файлу PDF.
  • Потім визначте ImageOptions і призначте файл.
  • Після цього створіть ImagesRequest із ImageOptions як аргумент.
  • Нарешті, витягніть зображення, викликавши метод images().

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

// Цей приклад коду демонструє, як отримати всі зображення з PDF-файлу в Node.js.
//Ініціалізація API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

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

// визначити параметри зображення
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Запит зображення
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Витяг зображення
let result = await parseApi.images(request);

// Показати результати
let images = result.images;
images.forEach(image => {
  console.log("Image path in storage: " + image.path);
  console.log("Download url: " + image.downloadUrl);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});
Видобувайте зображення з PDF за допомогою REST API у Node.js

Видобувайте зображення з PDF за допомогою REST API у Node.js

Завантажте витягнуті зображення

Наведений вище приклад коду збереже витягнуті зображення в хмарі. Ми можемо завантажити ці зображення за допомогою зразка коду, наведеного нижче:

// Цей приклад коду демонструє, як завантажувати зображення з хмари за допомогою Node.js
// Створіть необхідні екземпляри API
var folderApi = groupdocs_parser_cloud.FolderApi.fromConfig(configuration);
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Отримати запит на список файлів
var filesListRequest = new groupdocs_parser_cloud.GetFilesListRequest("parser/images/sample_pdf/", myStorage);

// Отримати список файлів
var filesList = await folderApi.getFilesList(filesListRequest);

for (var count = 0; count < filesList.value.length; count++) {
  // Запит на завантаження файлу
  let request = new groupdocs_parser_cloud.DownloadFileRequest(filesList.value[count].path, myStorage);

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

  // Збережіть файл в папку на диску
  fs.writeFile("C:\\Files\\parser\\images\\" + filesList.value[count].name, response, "binary", function (err) { });
  console.log(response);
}

Ось як експортувати зображення з файлу PDF, а потім завантажити його з хмари.

Зберігайте зображення за номерами сторінок із PDF-документів у Node.js

Ми можемо експортувати зображення з конкретних сторінок PDF замість усього документа, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр ParseApi.
  • Далі вкажіть шлях до завантаженого файлу PDF.
  • Потім визначте ImageOptions і призначте файл.
  • Встановіть номер початкової сторінки та загальну кількість сторінок, з яких витягувати зображення.
  • Після цього створіть ImagesRequest із ImageOptions як аргумент.
  • Нарешті, витягніть зображення, викликавши метод images().

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

// Цей приклад коду демонструє, як видобувати зображення з певних сторінок PDF-файлу в Node.js.
//Ініціалізація API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

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

// Визначте параметри зображення
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 1;      // Start page number
options.countPagesToExtract = 1;  // Total pages

// Запит зображення
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Витяг зображення
let result = await parseApi.images(request);

// Показати результати
let pages = result.pages;
pages.forEach(page => {
  console.log("Page index: " + page.pageIndex);
  page.images.forEach(image => {
    console.log("Download url: " + image.downloadUrl);
    console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
  });
});

Витягуйте зображення з документа, доданого до PDF-файлу, у Node.js

Ми також можемо отримати зображення з документа всередині контейнера, доступного як вкладення у файлі PDF, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр ParseApi.
  • Далі вкажіть шлях до завантаженого файлу PDF.
  • Потім визначте ImageOptions і призначте файл.
  • Далі визначте ContainerItemInfo та вкажіть відносний шлях до внутрішнього документа.
  • Після цього створіть ImagesRequest із ImageOptions як аргумент.
  • Нарешті, витягніть зображення, викликавши метод images().

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

// Цей приклад коду демонструє, як видобувати зображення з документа, вкладеного у PDF-файлі, у Node.js.
// Ініціалізація API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Вхідний шлях до файлу
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "PDF_with_Attachment.pdf";
fileInfo.password = "password";

// Визначте параметри зображення
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Контейнерний предмет
options.ContainerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
options.ContainerItemInfo.relativePath = "template-document.pdf";

// Запит зображення
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Витяг зображення
let result = await parseApi.images(request);

// Показати результати
let images = result.images;
images.forEach(image => {
  console.log("Image path: " + image.path);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});

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

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

Висновок

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

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

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

Дивись також