Extraiga imágenes de archivos PDF usando Node.js

Los documentos PDF conservan el contenido, incluidas las imágenes y el texto, tal cual. En determinados casos, es posible que necesitemos extraer imágenes de archivos PDF acrobat para reutilizarlas. Podemos extraer fácilmente todas las imágenes o imágenes de páginas específicas incrustadas en los documentos PDF mediante programación en la nube. En este artículo, aprenderemos cómo extraer imágenes de archivos PDF utilizando una API REST en Node.js.

Los siguientes temas se tratarán para extraer fotos de pdf en este artículo:

API REST de Image Extractor y SDK de Node.js

Para extraer imágenes de documentos PDF, utilizaremos la API Node.js SDK de GroupDocs.Parser Cloud. Permite la extracción de texto, imágenes y el análisis de datos mediante una plantilla de todos los formatos de documentos populares. Instálalo usando el siguiente comando en la consola:

npm install groupdocs-parser-cloud

Por favor, obtenga su ID de cliente y secreto del tablero antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

// Este ejemplo de código demuestra cómo agregar su ID de cliente y secreto en el código.
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";

Extraiga imágenes de PDF utilizando una API REST en Node.js

Podemos extraer imágenes de documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:

Sube el documento

En primer lugar, cargaremos el documento PDF que contiene imágenes en la nube utilizando el ejemplo de código que se proporciona a continuación:

// Este ejemplo de código demuestra cómo cargar un PDF a la nube en node.js 
// Construir FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Ruta del archivo de entrada
let resourcesFolder = 'C:\\Files\\Parser\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Subir solicitud de archivo
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // Subir archivo
  fileApi.uploadFile(request);
});

Como resultado, el archivo PDF cargado estará disponible en la sección de archivos del tablero en la nube. Este archivo está disponible para extraer una imagen de un pdf.

Extraiga todas las imágenes del archivo PDF en Node.js

Ahora, extraeremos todas las imágenes del archivo PDF cargado mediante programación siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de ParseApi.
  • A continuación, proporcione la ruta del archivo PDF cargado.
  • Luego, defina ImageOptions y asigne el archivo.
  • Después de eso, cree ImagesRequest con ImageOptions como argumento.
  • Finalmente, extraiga imágenes llamando al método images().

El siguiente ejemplo de código muestra cómo extraer todas las imágenes de un archivo PDF mediante una API REST en Node.js.

// Este ejemplo de código demuestra cómo extraer todas las imágenes de un PDF en Node.js.
//Inicialización de la API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Ruta del archivo de entrada
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// definir opciones de imagen
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Solicitud de imagen
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extraer imágenes
let result = await parseApi.images(request);

// Mostrar resultados
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);
});
Extraiga imágenes de PDF utilizando una API REST en Node.js

Extraiga imágenes de PDF utilizando una API REST en Node.js

Descargar imágenes extraídas

El ejemplo de código anterior guardará las imágenes extraídas en la nube. Podemos descargar estas imágenes utilizando el ejemplo de código que se proporciona a continuación:

// Este ejemplo de código demuestra cómo descargar imágenes de la nube usando Node.js
// Construir instancias api necesarias
var folderApi = groupdocs_parser_cloud.FolderApi.fromConfig(configuration);
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Obtener solicitud de lista de archivos
var filesListRequest = new groupdocs_parser_cloud.GetFilesListRequest("parser/images/sample_pdf/", myStorage);

// Obtener lista de archivos
var filesList = await folderApi.getFilesList(filesListRequest);

for (var count = 0; count < filesList.value.length; count++) {
  // Descargar solicitud de archivo
  let request = new groupdocs_parser_cloud.DownloadFileRequest(filesList.value[count].path, myStorage);

  // Descargar archivo
  let response = await fileApi.downloadFile(request);

  // Guardar archivo en la carpeta del disco
  fs.writeFile("C:\\Files\\parser\\images\\" + filesList.value[count].name, response, "binary", function (err) { });
  console.log(response);
}

Así es como exportar una imagen desde un archivo pdf y luego descargarlo desde la nube.

Guardar imágenes por número de página de documentos PDF en Node.js

Podemos exportar imágenes de páginas específicas de PDF en lugar de todo el documento siguiendo los pasos que se indican a continuación.

  • En primer lugar, cree una instancia de ParseApi.
  • A continuación, proporcione la ruta del archivo PDF cargado.
  • Luego, defina ImageOptions y asigne el archivo.
  • Establezca el número de página de inicio y el número total de páginas desde donde extraer imágenes.
  • Después de eso, cree ImagesRequest con ImageOptions como argumento.
  • Finalmente, extraiga imágenes llamando al método images().

El siguiente ejemplo de código muestra cómo extraer imágenes de un archivo PDF por números de página de un documento PDF mediante una API REST en Node.js. Siga los pasos mencionados anteriormente para descargar las imágenes extraídas.

// Este ejemplo de código demuestra cómo extraer imágenes de páginas específicas de un PDF en Node.js.
//Inicialización de la API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Ruta del archivo de entrada
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// Definir opciones de imagen
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 1;      // Start page number
options.countPagesToExtract = 1;  // Total pages

// Solicitud de imagen
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extraer imágenes
let result = await parseApi.images(request);

// Mostrar resultados
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);
  });
});

Extraiga imágenes del documento adjunto con PDF en Node.js

También podemos extraer imágenes de un documento dentro de un contenedor, disponible como archivo adjunto en un archivo PDF, siguiendo los pasos que se detallan a continuación.

  • En primer lugar, cree una instancia de ParseApi.
  • A continuación, proporcione la ruta del archivo PDF cargado.
  • Luego, defina ImageOptions y asigne el archivo.
  • A continuación, defina ContainerItemInfo y proporcione la ruta relativa del documento interno.
  • Después de eso, cree ImagesRequest con ImageOptions como argumento.
  • Finalmente, extraiga imágenes llamando al método images().

El siguiente ejemplo de código muestra cómo extraer las imágenes de un documento dentro de un documento PDF usando una API REST en Node.js. Siga los pasos mencionados anteriormente para descargar las imágenes extraídas.

// Este ejemplo de código demuestra cómo extraer imágenes de un documento adjunto en un PDF en Node.js.
// Inicialización de la API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Ruta del archivo de entrada
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "PDF_with_Attachment.pdf";
fileInfo.password = "password";

// Definir opciones de imagen
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Elemento contenedor
options.ContainerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
options.ContainerItemInfo.relativePath = "template-document.pdf";

// Solicitud de imagen
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extraer imágenes
let result = await parseApi.images(request);

// Mostrar resultados
let images = result.images;
images.forEach(image => {
  console.log("Image path: " + image.path);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});

Prueba en línea

¿Cómo extraer imágenes de pdf gratis? Pruebe la siguiente herramienta gratuita de análisis de PDF en línea para extraer imágenes PDF en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/parser/pdf

Conclusión

En este artículo, hemos aprendido a:

  • extraer imágenes de archivos PDF utilizando Node.js en la nube;
  • cargar mediante programación un archivo PDF a la nube;
  • descargar las imágenes extraídas de la nube.

Además, puede obtener más información sobre GroupDocs.Parser Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también