Документы PDF сохраняют содержимое, включая изображения и текст, как есть. В некоторых случаях нам может потребоваться извлечь изображения из файлов PDF acrobat для их повторного использования. Мы можем легко извлечь все изображения или изображения с определенных страниц, встроенных в документы PDF, программно в облаке. В этой статье мы узнаем, как извлекать изображения из PDF-файлов с помощью REST API в Node.js.
Для извлечения фотографий из pdf в этой статье должны быть затронуты следующие темы:
- REST API для извлечения изображений и Node.js SDK
- Извлечение изображений из PDF с помощью REST API в Node.js
- Сохранение изображений по номерам страниц из PDF-документов в Node.js
- Извлечение изображений из документа, прикрепленного к PDF, в Node.js
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-файла
- Скачатьthe extracted images
Загрузить документ
Во-первых, мы загрузим документ 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 и назначьте файл.
- После этого создайте ImageRequest с 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);
});
Скачать извлеченные изображения
Приведенный выше пример кода сохранит извлеченные изображения в облаке. Мы можем загрузить эти изображения, используя пример кода, приведенный ниже:
// В этом примере кода показано, как загружать изображения из облака с помощью 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 и назначьте файл.
- Установите номер начальной страницы и общее количество страниц, откуда следует извлекать изображения.
- После этого создайте ImageRequest с 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 и укажите относительный путь к внутреннему документу.
- После этого создайте ImageRequest с 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, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.
Смотрите также
- Извлечение текста из PDF с помощью REST API в Node.js
- Извлечение данных из PDF с помощью REST API в Node.js
- Извлечение изображений из PDF-документов с помощью Python
- Извлечение определенных данных из PDF с помощью Python
- Анализ документов Word с использованием REST API в Python
- Экспорт и извлечение изображений из файлов PDF, XLSX, PPTX и DOCX с использованием Python