Nous pouvons facilement analyser des documents PDF et extraire des données spécifiques à l’aide d’un modèle défini par l’utilisateur sur le cloud. Nous pouvons extraire des champs et des données de table à partir de fichiers PDF par programmation. Dans cet article, nous allons apprendre à extraire des données d’un PDF à l’aide de l’API REST dans Node.js.
Les sujets suivants seront traités dans cet article :
- API REST et SDK Node.js pour extraire des données d’un PDF
- Extraire des données à l’aide d’un fichier de modèle basé sur JSON dans Node.js
- Extraire des données à l’aide d’un objet modèle dans Node.js
- Analyser le document à l’intérieur du conteneur à l’aide du modèle dans Node.js
API REST et SDK Node.js pour extraire des données d’un PDF
Pour analyser des documents PDF et extraire des données basées sur un modèle, nous utiliserons l’API Node.js SDK of GroupDocs.Parser Cloud. Il permet également l’analyse d’autres types de documents pris en charge et l’extraction de texte, d’images et de données spécifiques à l’aide d’un modèle. 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.
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const configuration = new groupdocs_parser_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";
Extraire des données à l’aide d’un fichier de modèle basé sur JSON dans Node.js
Nous pouvons extraire des données de documents PDF à l’aide d’un modèle en suivant les étapes simples indiquées ci-dessous :
- Téléchargez le fichier PDF dans le cloud
- Extraire des données d’un PDF à l’aide d’un fichier de modèle basé sur JSON
Télécharger le document
Tout d’abord, nous allons télécharger le document PDF sur le cloud pour le grattage du pdf en utilisant l’exemple de code ci-dessous :
// Cet exemple de code montre comment télécharger un document PDF dans le cloud.
// Construire FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let file = 'C:\\Files\\companies.pdf';
// Lire le fichier
fs.readFile(file, (err, fileStream) => {
// Demande de téléchargement de fichier
let request = new groupdocs_parser_cloud.UploadFileRequest("companies.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.
Extraire des données d’un PDF à l’aide d’un fichier de modèle basé sur JSON
Nous pouvons analyser le document PDF et extraire les données à l’aide d’un fichier de modèle basé sur JSON en suivant les étapes ci-dessous :
- Créez une instance de ParseApi.
- Indiquez le chemin du fichier PDF téléchargé.
- Définissez le chemin d’accès au fichier JSON de modèle.
- Enfin, analysez le document et extrayez les données.
L’exemple de code suivant montre comment extraire des données selon le modèle fourni dans le fichier JSON à l’aide d’une API REST.
// Cet exemple de code montre comment analyser un document PDF à l'aide d'un modèle basé sur JSON.
// Créer une instance 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 = "companies.pdf"
// Créer des options d'analyse
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
options.templatePath = "template.json";
// Créer une requête d'analyse
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Analyser le document
let response = await parseApi.parse(request);
// Afficher la sortie
response.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
Veuillez trouver ci-dessous le modèle au format JSON.
{
"Fields": [
{
"FieldName": "Address",
"FieldPosition": {
"FieldPositionType": "Regex",
"Regex": "Companyaddress:"
}
},
{
"FieldName": "CompanyAddress",
"FieldPosition": {
"FieldPositionType": "Linked",
"LinkedFieldName": "ADDRESS",
"IsRightLinked": true,
"SearchArea": {
"Height": 10.0,
"Width": 100.0
},
"AutoScale": true
}
},
{
"FieldName": "Company",
"FieldPosition": {
"FieldPositionType": "Regex",
"Regex": "Companyname:"
}
},
{
"FieldName": "CompanyName",
"FieldPosition": {
"FieldPositionType": "Linked",
"LinkedFieldName": "Company",
"IsRightLinked": true,
"SearchArea": {
"Height": 10.0,
"Width": 100.0
},
"AutoScale": true
}
}
],
"Tables": [
{
"TableName": "Companies",
"DetectorParameters": {
"Rectangle": {
"Position": {
"X": 77.0,
"Y": 279.0
},
"Size": {
"Height": 41.0,
"Width": 480.0
}
}
}
}
]
}
Extraire des données à l’aide d’un objet modèle dans Node.js
Nous pouvons extraire des données d’un fichier PDF basé sur le modèle défini en tant qu’objet en suivant les étapes ci-dessous :
- Créez une instance de ParseApi.
- Indiquez le chemin du fichier PDF téléchargé.
- Initialiser un modèle en tant qu’objet.
- Enfin, analysez le document et extrayez les données.
L’exemple de code suivant montre comment extraire des données selon le modèle défini à partir d’un document PDF à l’aide d’une API REST. Veuillez suivre les étapes mentionnées précédemment pour télécharger le fichier.
// Cet exemple de code montre comment analyser un document PDF par objet Template.
// Initialisation de l'API
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);
// Fichier d'entrée
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "companies.pdf";
// Définir les options d'analyse
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// Obtenir un objet modèle
options.template = GetTemplate();
// Créer une requête d'analyse
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Passer le document
let result = await parseApi.parse(request);
// Montrer les résultats
result.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
Veuillez trouver ci-dessous l’objet modèle créé selon le document PDF pour extraire les données du pdf.
// Cet exemple de code illustre un objet modèle.
let field1 = new groupdocs_parser_cloud.Field();
field1.fieldName = "Address";
let fieldPosition1 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition1.fieldPositionType = "Regex";
fieldPosition1.regex = "Company address:";
field1.fieldPosition = fieldPosition1;
let field2 = new groupdocs_parser_cloud.Field();
field2.fieldName = "CompanyAddress";
let fieldPosition2 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition2.fieldPositionType = "Linked";
fieldPosition2.linkedFieldName = "ADDRESS";
fieldPosition2.isRightLinked = true;
let size2 = new groupdocs_parser_cloud.Size();
size2.width = 100;
size2.height = 10;
fieldPosition2.searchArea = size2;
fieldPosition2.autoScale = true;
field2.fieldPosition = fieldPosition2;
let field3 = new groupdocs_parser_cloud.Field();
field3.fieldName = "Company";
let fieldPosition3 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition3.fieldPositionType = "Regex";
fieldPosition3.regex = "Company name:";
field3.fieldPosition = fieldPosition3;
let field4 = new groupdocs_parser_cloud.Field();
field4.fieldName = "CompanyName";
let fieldPosition4 = new groupdocs_parser_cloud.FieldPosition();
fieldPosition4.fieldPositionType = "Linked";
fieldPosition4.linkedFieldName = "Company";
fieldPosition4.isRightLinked = true;
let size4 = new groupdocs_parser_cloud.Size();
size4.width = 100;
size4.height = 10;
fieldPosition4.searchArea = size4;
fieldPosition4.autoScale = true;
field4.fieldPosition = fieldPosition4;
let table = new groupdocs_parser_cloud.Table();
table.tableName = "Companies";
let detectorparams = new groupdocs_parser_cloud.DetectorParameters();
let rect = new groupdocs_parser_cloud.Rectangle();
let size = new groupdocs_parser_cloud.Size();
size.height = 60;
size.width = 480;
let position = new groupdocs_parser_cloud.Point();
position.x = 77;
position.y = 279;
rect.size = size;
rect.position = position;
detectorparams.rectangle = rect;
table.detectorParameters = detectorparams;
let fields = [field1, field2, field3, field4];
let tables = [table];
let template = new groupdocs_parser_cloud.Template();
template.fields = fields;
template.tables = tables;
return template;
Analyser le document à l’intérieur du conteneur à l’aide du modèle dans Node.js
Nous pouvons également analyser le document PDF disponible à l’intérieur du conteneur et extraire des données à l’aide de l’objet modèle. Veuillez suivre les étapes mentionnées ci-dessous pour analyser le document afin d’extraire les données du pdf numérisé à l’intérieur d’un conteneur.
- Créez une instance de ParseApi.
- Indiquez le chemin du fichier d’archive téléchargé.
- Initialiser un modèle en tant qu’objet.
- Fournissez l’élément de conteneur.
- Enfin, analysez le document et extrayez les données.
L’exemple de code suivant montre comment analyser un document PDF dans une archive ZIP à l’aide d’une API REST. Veuillez suivre les étapes mentionnées précédemment pour télécharger les fichiers et extraire les informations du pdf.
// Cet exemple de code montre comment analyser un document PDF disponible dans le conteneur.
// 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 = "archive.zip";
// Créer des options d'analyse
let options = new groupdocs_parser_cloud.ParseOptions();
options.fileInfo = fileInfo;
// Obtenir l'objet modèle
options.template = GetTemplate();
// Informations sur l'article du conteneur
let containerItemInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerItemInfo.relativePath = "companies.pdf";
options.containerItemInfo = containerItemInfo;
// Créer une requête d'analyse
let request = new groupdocs_parser_cloud.ParseRequest(options);
// Créer une demande
let response = await parseApi.parse(request);
// Afficher la sortie
response.fieldsData.forEach(data => {
if (data.pageArea.pageTextArea != null) {
console.log("Field name: " + data.name + ". Text :" + data.pageArea.pageTextArea.text);
}
if (data.pageArea.pageTableArea != null) {
console.log("Table name: " + data.name);
data.pageArea.pageTableArea.pageTableAreaCells.forEach(cell => {
console.log("Table cell. Row " + cell.rowIndex + " column " + cell.columnIndex + ". Text: " + cell.pageArea.pageTextArea.text);
});
}
});
Essayez en ligne
Veuillez essayer l’outil d’analyse PDF en ligne gratuit suivant pour l’extraction de données PDF en ligne. Cet extracteur de contenu pdf 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 données spécifiques de documents PDF selon le modèle fourni sur le cloud. Nous avons également vu comment créer un objet modèle ou utiliser un modèle au format JSON. Vous savez maintenant comment extraire des informations d’un pdf à l’aide de l’API pdf scraper et de l’extracteur de données PDF gratuit. 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.