Extrayez les données d'un pdf numérisé ou d'un grattage de pdf à l'aide de l'extracteur de page pdf en ligne.

Comment extraire des données d’un PDF à l’aide de Python

Vous devrez peut-être extraire des données de vos documents PDF ou Word à l’aide d’un modèle défini par l’utilisateur. Vous pouvez analyser n’importe quel document et extraire des champs et des données de table par programmation sur le cloud. Cet article explique comment extraire des données spécifiques de documents PDF à l’aide d’une API REST en Python.

Les sujets suivants seront traités dans cet article :

API REST de l’analyseur de documents et SDK Python

Pour analyser un document PDF et extraire des données basées sur un modèle, j’utiliserai l’API Python SDK of GroupDocs.Parser Cloud. Il vous permet d’analyser les données de tous les types de documents courants tels que les documents PDF, les documents Microsoft Office et les formats de fichiers OpenDocument. Vous pouvez extraire du texte, des images et analyser des données à l’aide d’un modèle à l’aide du SDK. Il fournit également les SDK .NET, Java, PHP, Ruby et Node.js en tant que membres de la famille d’analyseurs de documents pour l’API Cloud.

Vous pouvez installer GroupDocs.Parser Cloud sur votre projet Python avec pip (package installer for python) en utilisant la commande suivante dans la console pour extraire les informations du pdf :

pip install groupdocs_parser_cloud

Veuillez obtenir votre ID client et votre secret client à partir du tableau de bord et ajouter le code comme indiqué ci-dessous :

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

configuration = groupdocs_parser_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Extraire des données par objet modèle à l’aide de Python

Vous pouvez extraire des données de documents PDF à l’aide d’un modèle en suivant les étapes simples mentionnées ci-dessous :

Télécharger le document

Tout d’abord, téléchargez le document PDF sur le Cloud en utilisant l’exemple de code ci-dessous :

# Créer une instance de l'API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)

# télécharger des exemples de fichiers
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)

Par conséquent, le fichier PDF téléchargé sera disponible dans la section des fichiers de votre tableau de bord sur le cloud.

Extraction de données basée sur un modèle à l’aide de Python

Veuillez suivre les étapes mentionnées ci-dessous pour extraire les données du fichier PDF en fonction du modèle par programme.

  1. Créer une instance de ParseApi
  2. Définir ParseOptions et définir le chemin d’accès au fichier PDF
  3. Créer un modèle en tant qu’objet
  4. Créer une demande d’analyse
  5. Obtenez des résultats en appelant la méthode ParseApi.parse()

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.

# initialisation de l'API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# définir les options d'analyse
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"

# Obtenir un objet modèle
options.template = GetTemplate()  

# requête d'analyse
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# Montrer les résultats
for data in result.fields_data:
    if data.page_area.page_text_area is not None:
        print("Field name: " + data.name + ". Text :" + data.page_area.page_text_area.text)

    if data.page_area.page_table_area is not None:
        print("Table name: " + data.name)
       for cell in data.page_area.page_table_area.page_table_area_cells:
            print("Table cell. Row " + str(cell.row_index) + " column " + str(cell.column_index) + ". Text: " + cell.page_area.page_text_area.text);

Veuillez trouver ci-dessous le modèle créé selon le document PDF.

def GetTemplate():
        field1 = groupdocs_parser_cloud.Field()
        field1.field_name = "Address"
        fieldPosition1 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition1.field_position_type = "Regex"
        fieldPosition1.regex = "Company address:"
        field1.field_position = fieldPosition1

        field2 = groupdocs_parser_cloud.Field()
        field2.field_name = "CompanyAddress"
        fieldPosition2 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition2.field_position_type = "Linked"
        fieldPosition2.linked_field_name = "ADDRESS"
        fieldPosition2.is_right_linked = True
        size2 = groupdocs_parser_cloud.Size()
        size2.width = 100
        size2.height = 10
        fieldPosition2.search_area = size2
        fieldPosition2.auto_scale = True
        field2.field_position = fieldPosition2
        
        field3 = groupdocs_parser_cloud.Field()
        field3.field_name = "Company"
        fieldPosition3 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition3.field_position_type = "Regex"
        fieldPosition3.regex = "Company name:"
        field3.field_position = fieldPosition3
        
        field4 = groupdocs_parser_cloud.Field()
        field4.field_name = "CompanyName"
        fieldPosition4 = groupdocs_parser_cloud.FieldPosition()
        fieldPosition4.field_position_type = "Linked"
        fieldPosition4.linked_field_name = "Company"
        fieldPosition4.is_right_linked = True
        size4 = groupdocs_parser_cloud.Size()
        size4.width = 100
        size4.height = 10
        fieldPosition4.search_area = size4
        fieldPosition4.auto_scale = True
        field4.field_position = fieldPosition4
        
        table = groupdocs_parser_cloud.Table()
        table.table_name = "Companies"
        detectorparams = groupdocs_parser_cloud.DetectorParameters()
        rect = groupdocs_parser_cloud.Rectangle()
        size = groupdocs_parser_cloud.Size()
        size.height = 60
        size.width = 480
        position = groupdocs_parser_cloud.Point()
        position.x = 77
        position.y = 279
        rect.size = size
        rect.position = position
        detectorparams.rectangle = rect
        table.detector_parameters = detectorparams
        
        fields = [field1, field2, field3, field4]
        tables = [table]
        
        template = groupdocs_parser_cloud.Template()
        template.fields = fields
        template.tables = tables
        return template
Données extraites en analysant un document à l'aide d'un modèle

Données extraites en analysant un document à l’aide d’un modèle

Extraire des données par fichier de modèle à l’aide de Python

Vous pouvez également extraire des données du document PDF en fournissant par programmation un fichier de modèle basé sur JSON. Veuillez suivre les étapes mentionnées ci-dessous pour analyser le document en fournissant un fichier modèle.

  1. Créer une instance de ParseApi
  2. Définir ParseOptions
  3. Définir le chemin d’accès au fichier PDF
  4. Définissez le chemin d’accès au fichier de modèle
  5. Créer une demande d’analyse
  6. Obtenez des résultats en appelant la méthode ParseApi.parse()

L’exemple de code suivant montre comment analyser un document PDF et extraire des données selon le modèle fourni dans le fichier JSON à l’aide d’une API REST. Veuillez suivre les étapes mentionnées précédemment pour télécharger les fichiers.

# initialisation de l'API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# définir les options d'analyse
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"

# requête d'analyse
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# montrer les résultats
for data in result.fields_data:
    if data.page_area.page_text_area is not None:
        print("Field name: " + data.name + ". Text :" + data.page_area.page_text_area.text)

    if data.page_area.page_table_area is not None:
        print("Table name: " + data.name)
       for cell in data.page_area.page_table_area.page_table_area_cells:
            print("Table cell. Row " + str(cell.row_index) + " column " + str(cell.column_index) + ". Text: " + cell.page_area.page_text_area.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 le fichier PDF en ligne

Comment utiliser l’extracteur de pdf en ligne gratuitement ? Veuillez essayer l’outil d’analyse PDF en ligne gratuit et l’extracteur de page PDF gratuit suivants. Cet outil gratuit d’extraction de pdf en ligne et d’extraction de pdf en ligne est développé à l’aide de l’API ci-dessus. https://products.groupdocs.app/parser/pdf

Conclusion

Dans cet article, vous avez appris à extraire des données spécifiques de documents PDF selon le modèle fourni sur le cloud. Vous avez également appris à créer un objet modèle et à fournir un modèle au format JSON. Cet article a également expliqué comment télécharger par programme un fichier PDF sur le cloud pour l’extraction de données PDF en ligne. 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.

poser une question

Si vous avez des questions sur l’extraction de données à partir de pdf et l’extraction de données pdf en ligne, n’hésitez pas à nous les poser sur Free Support Forum

Voir également