feat : ajout d'un parse pour facture #5
This commit is contained in:
65
src/modules/pdf-parse.ts
Normal file
65
src/modules/pdf-parse.ts
Normal file
@@ -0,0 +1,65 @@
|
||||
const fs = require('fs');
|
||||
const pdfParse = require('pdf-parse-fork');
|
||||
|
||||
function pdf_parse(travel: string){
|
||||
interface PdfData {
|
||||
text: string;
|
||||
}
|
||||
|
||||
let fournisseur = '';
|
||||
let date = '';
|
||||
|
||||
interface tab_res {
|
||||
marque : string;
|
||||
date_achats : string;
|
||||
}
|
||||
|
||||
const dataBuffer = fs.readFileSync(travel);
|
||||
|
||||
pdfParse(dataBuffer)
|
||||
.then((data: PdfData) => {
|
||||
// on regarde si c'est auchan ou metro
|
||||
const regexAuchan = /auchan/i;
|
||||
if (regexAuchan.test(data.text)) {
|
||||
fournisseur = "Auchan"
|
||||
|
||||
// on regarde la date d'achat avec une expression reguliere pour auchan
|
||||
const regexDate = /(\d{2})\/(\d{2})\/(\d{4})/;
|
||||
const correspondance = data.text.match(regexDate);
|
||||
if (correspondance) {
|
||||
date = correspondance[0]
|
||||
} else {
|
||||
date = "non trouvé"
|
||||
}
|
||||
|
||||
} else {
|
||||
fournisseur = "Metro"
|
||||
|
||||
// on regarde la date d'achat avec une expression reguliere pour metro
|
||||
const regexDate = /(\d{2})-(\d{2})-(\d{4})/;
|
||||
const correspondance = data.text.match(regexDate);
|
||||
if (correspondance) {
|
||||
date = correspondance[0]
|
||||
} else {
|
||||
date = "non trouvé"
|
||||
}
|
||||
}
|
||||
|
||||
// on renvoie les valeur avec un seul objet
|
||||
|
||||
const res : tab_res = {
|
||||
marque: fournisseur,
|
||||
date_achats: date
|
||||
}
|
||||
|
||||
console.log(res);
|
||||
|
||||
})
|
||||
|
||||
|
||||
.catch((error: unknown) => {
|
||||
console.error("Erreur :", error);
|
||||
});
|
||||
}
|
||||
|
||||
export default pdf_parse;
|
||||
Reference in New Issue
Block a user