Extraire des images de fichiers PDF à l'aide de Node.js

Les documents PDF conservent le contenu, y compris les images et le texte, tel quel. Dans certains cas, nous pouvons être amenés à extraire des images de fichiers PDF Acrobat pour les réutiliser. Nous pouvons facilement extraire toutes les images ou images de pages spécifiques intégrées dans les documents PDF par programmation sur le cloud. Dans cet article, nous allons apprendre à extraire des images de fichiers PDF à l’aide d’une API REST dans Node.js.

Les sujets suivants doivent être couverts pour extraire des photos de pdf dans cet article :

API REST d’extraction d’images et SDK Node.js

Pour extraire des images de documents PDF, nous utiliserons l’API Node.js SDK of GroupDocs.Parser Cloud. Il permet l’extraction de texte, d’images et l’analyse de données par un modèle à partir de tous les formats de documents populaires. Veuillez l’installer à l’aide de la commande suivante dans la console :

npm install groupdocs-parser-cloud

Veuillez obtenir votre ID client et votre secret à partir du tableau de bord avant de suivre les étapes mentionnées. Une fois que vous avez votre identifiant et votre secret, ajoutez le code comme indiqué ci-dessous :

// Cet exemple de code montre comment ajouter votre ID client et votre secret dans le code.
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";

Extraire des images d’un PDF à l’aide d’une API REST dans Node.js

Nous pouvons extraire des images de documents PDF en suivant les étapes simples mentionnées ci-dessous :

Télécharger le document

Tout d’abord, nous allons télécharger le document PDF contenant les images dans le cloud à l’aide de l’exemple de code ci-dessous :

// Cet exemple de code montre comment télécharger un PDF sur le cloud dans node.js 
// Construire FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Chemin du fichier d'entrée
let resourcesFolder = 'C:\\Files\\Parser\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
  // Demande de téléchargement de fichier
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // Téléverser un fichier
  fileApi.uploadFile(request);
});

Par conséquent, le fichier PDF téléchargé sera disponible dans la section des fichiers du tableau de bord sur le cloud. Ce fichier est disponible pour extraire une image d’un pdf.

Extraire toutes les images du fichier PDF dans Node.js

Maintenant, nous allons extraire toutes les images du fichier PDF téléchargé par programmation en suivant les étapes ci-dessous :

  • Tout d’abord, créez une instance de ParseApi.
  • Ensuite, indiquez le chemin du fichier PDF téléchargé.
  • Ensuite, définissez ImageOptions et attribuez le fichier.
  • Après cela, créez ImagesRequest avec ImageOptions comme argument.
  • Enfin, extrayez les images en appelant la méthode images().

L’exemple de code suivant montre comment extraire toutes les images d’un fichier PDF à l’aide d’une API REST dans Node.js.

// Cet exemple de code montre comment extraire toutes les images d'un PDF dans Node.js.
//Initialisation de l'API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Chemin du fichier d'entrée
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// définir les options d'image
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// Demande d'images
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extraire des images
let result = await parseApi.images(request);

// Montrer les résultats
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);
});
Extraire des images d'un PDF à l'aide d'une API REST dans Node.js

Extraire des images d’un PDF à l’aide d’une API REST dans Node.js

Télécharger les images extraites

L’exemple de code ci-dessus enregistrera les images extraites sur le cloud. Nous pouvons télécharger ces images en utilisant l’exemple de code ci-dessous :

// Cet exemple de code montre comment télécharger des images depuis le cloud à l'aide de Node.js
// Construire les instances d'API nécessaires
var folderApi = groupdocs_parser_cloud.FolderApi.fromConfig(configuration);
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// Obtenir la demande de liste de fichiers
var filesListRequest = new groupdocs_parser_cloud.GetFilesListRequest("parser/images/sample_pdf/", myStorage);

// Obtenir la liste des fichiers
var filesList = await folderApi.getFilesList(filesListRequest);

for (var count = 0; count < filesList.value.length; count++) {
  // Télécharger la demande de fichier
  let request = new groupdocs_parser_cloud.DownloadFileRequest(filesList.value[count].path, myStorage);

  // Télécharger un fichier
  let response = await fileApi.downloadFile(request);

  // Enregistrer le fichier dans le dossier sur le disque
  fs.writeFile("C:\\Files\\parser\\images\\" + filesList.value[count].name, response, "binary", function (err) { });
  console.log(response);
}

Voici comment exporter une image à partir d’un fichier pdf, puis la télécharger à partir du cloud.

Enregistrer les images par numéros de page à partir de documents PDF dans Node.js

Nous pouvons exporter une image à partir de pages spécifiques au format PDF au lieu du document entier en suivant les étapes ci-dessous.

  • Tout d’abord, créez une instance de ParseApi.
  • Ensuite, indiquez le chemin du fichier PDF téléchargé.
  • Ensuite, définissez ImageOptions et attribuez le fichier.
  • Définissez le numéro de la page de démarrage et le nombre total de pages à partir desquelles extraire les images.
  • Après cela, créez ImagesRequest avec ImageOptions comme argument.
  • Enfin, extrayez les images en appelant la méthode images().

L’exemple de code suivant montre comment extraire des images d’un fichier pdf par numéros de page à partir d’un document PDF à l’aide d’une API REST dans Node.js. Veuillez suivre les étapes mentionnées précédemment pour télécharger les images extraites.

// Cet exemple de code montre comment extraire des images de pages spécifiques d'un PDF dans Node.js.
//Initialisation de l'API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Chemin du fichier d'entrée
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// Définir les options d'image
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 1;      // Start page number
options.countPagesToExtract = 1;  // Total pages

// Demande d'images
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extraire des images
let result = await parseApi.images(request);

// Montrer les résultats
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);
  });
});

Extraire des images d’un document joint avec un PDF dans Node.js

Nous pouvons également extraire des images d’un document à l’intérieur d’un conteneur, disponible en pièce jointe dans un fichier PDF, en suivant les étapes indiquées ci-dessous.

  • Tout d’abord, créez une instance de ParseApi.
  • Ensuite, indiquez le chemin du fichier PDF téléchargé.
  • Ensuite, définissez ImageOptions et attribuez le fichier.
  • Ensuite, définissez ContainerItemInfo et indiquez le chemin relatif du document interne.
  • Après cela, créez ImagesRequest avec ImageOptions comme argument.
  • Enfin, extrayez les images en appelant la méthode images().

L’exemple de code suivant montre comment extraire les images d’un document dans un document PDF à l’aide d’une API REST dans Node.js. Veuillez suivre les étapes mentionnées précédemment pour télécharger les images extraites.

// Cet exemple de code montre comment extraire des images d'un document joint dans un PDF dans Node.js.
// Initialisation de l'API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// Chemin du fichier d'entrée
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "PDF_with_Attachment.pdf";
fileInfo.password = "password";

// Définir les options d'image
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

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

// Demande d'images
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// Extraire des images
let result = await parseApi.images(request);

// Montrer les résultats
let images = result.images;
images.forEach(image => {
  console.log("Image path: " + image.path);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});

Essayez en ligne

Comment extraire des images d’un pdf gratuitement ? Veuillez essayer l’outil d’analyse PDF en ligne gratuit suivant pour extraire des images PDF en ligne, qui est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/parser/pdf

Conclusion

Dans cet article, nous avons appris à :

  • extraire des images de fichiers PDF à l’aide de Node.js sur le cloud ;
  • télécharger par programmation un fichier PDF dans le cloud ;
  • télécharger les images extraites du cloud.

En outre, vous pouvez en savoir plus sur l’API GroupDocs.Parser Cloud à l’aide de la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également