Exctration données PDF par power query sur Excel

Bonjour,

J'ai plein de fichier PDF de ce genre dans un dossier avec la même structure et je voudrais extraire les données suivantes :

Numéro de facture : 2026-07-6562
Date d'émission facture initiale / facture rectificative : 01/07/2026
Montant à payer montant brut 302,40
livraison/réalisation de prestation : ANGERS

pour tous les PDF

J'ai commencé un code mais cela ne fonctionne pas

let
    // 1. Récupération du chemin du dossier depuis votre cellule Excel
    CheminDossier = Excel.CurrentWorkbook(){[Name="Fichier.xml"]}[Content]{0}[Column1],
    Source = Folder.Files(CheminDossier),

    // 2. Filtrage pour ne garder que les fichiers PDF
    FiltrePDF = Table.SelectRows(Source, each [Extension] = ".pdf"),

     // 3. Fonction personnalisée intégrée pour extraire et nettoyer le texte de TOUTES les pages du PDF
    ExtraireTextePDF = Table.AddColumn(FiltrePDF, "TexteBrut", each 
        let
            // Extraction des données de toutes les pages du PDF
            PagesPdf = Pdf.Tables([Content], [Implementation="1.3"]),
            // On garde toutes les pages, pas seulement les tables
            FiltrerPages = Table.SelectRows(PagesPdf, each [Kind] = "Page"),
            // Fusion de toutes les pages en un seul gros bloc textuel
            CombinerTexte = Text.Combine(
                List.Transform(
                    FiltrerPages[Data], 
                    each Text.Combine(List.Transform(Table.ToList(_), each Text.From(_)), " ")
                ), 
                " "
            )
        in
            if Text.Length(CombinerTexte) = 0 then 
                "Aucune donnée trouvée" 
            else 
                CombinerTexte
    ),

    // 4. Extraction chirurgicale des 4 données recherchées via des fonctions de texte
    ExtractionDonnees = Table.AddColumn(ExtraireTextePDF, "InfosFacture", each 
        let
            Texte = [TexteBrut],

            // A. Extraction du Numéro de facture
            PosNum = Text.PositionOf(Texte, "Numéro de facture"),
            NumFacture = if PosNum = -1 then null else 
                Text.Middle(Texte, PosNum + Text.Length("Numéro de facture"), 30),
            NumNettoye = Text.Trim(Text.Select(NumFacture, {"0".."9", "-", "/"})),

            // B. Extraction de la Date d'émission
            PosDate = Text.PositionOf(Texte, "ve :,"),
            DateFacture = if PosDate = -1 then null else 
                Text.Middle(Texte, PosDate + Text.Length("ve :,"), 10),
            DateNettoyee = Text.Trim(Text.Select(DateFacture, {"0".."9", "/"})),

            // C. Extraction du Montant à payer (Brut)
            PosMt = Text.PositionOf(Texte, "Montant à payer"),
            MontantBrut = if PosMt = -1 then null else 
                Text.Middle(Texte, PosMt + Text.Length("montant brut"), 20),
            MtNettoye = Text.Trim(Text.Select(MontantBrut, {"0".."9", ",", "."})),

            // D. Extraction du Lieu de livraison
            PosLiv = Text.PositionOf(Texte, "Localité Adresse de livraison"),
            LieuLiv = if PosLiv = -1 then null else 
                Text.Middle(Texte, PosLiv + Text.Length("Localité Adresse de livraison/réalisation de prestation :"), 40),
            // On récupère le premier mot qui suit)
            LieuNettoye = Text.Start(Text.Trim(LieuLiv), Text.PositionOf(Text.Trim(LieuLiv), " "))
        in
            [Num = NumNettoye, Date = DateNettoyee, Total = MtNettoye, Ville = LieuNettoye]
    )
in
    ExtractionDonnees

Le problème je pense est à l'étape 3 il n'extrait pas tout le document mais qu'une partie

Si quelqu'un pourrais regarder ou apporté sa propre solution ce serait cool

Je met en PJ un fichier PDF que j'ai anonymiser met touts les éléments se retrouve

5test.pdf (86.93 Ko)
Rechercher des sujets similaires à "exctration donnees pdf power query"