Extrahujte data z naskenovaného pdf nebo seškrábnutí pdf pomocí online extraktoru stránek pdf.

Jak extrahovat data z PDF pomocí Pythonu

Možná budete muset extrahovat data z dokumentů PDF nebo Word pomocí uživatelem definované šablony. Můžete analyzovat jakýkoli dokument a extrahovat pole a data tabulek programově v cloudu. Tento článek vysvětlí, jak extrahovat konkrétní data z dokumentů PDF pomocí REST API v Pythonu.

V tomto článku se budou zabývat následujícími tématy:

REST API pro analyzátor dokumentů a Python SDK

Pro analýzu PDF dokumentu a extrahování dat na základě šablony budu používat Python SDK of GroupDocs.Parser Cloud API. Umožňuje analyzovat data ze všech oblíbených typů dokumentů, jako jsou dokumenty PDF, dokumenty Microsoft Office a formáty souborů OpenDocument. Pomocí sady SDK můžete extrahovat text, obrázky a analyzovat data podle šablony. Poskytuje také sady .NET, Java, PHP, Ruby a Node.js SDK jako členové rodiny analyzátorů dokumentů pro Cloud API.

GroupDocs.Parser Cloud můžete nainstalovat do svého projektu Python pomocí pip (instalátor balíčku pro python) pomocí následujícího příkazu v konzole k extrahování informací z pdf:

pip install groupdocs_parser_cloud

Získejte své ID klienta a tajný klíč klienta z dashboard a přidejte kód, jak je uvedeno níže:

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 = ""

Extrahujte data podle objektu šablony pomocí Pythonu

Data z dokumentů PDF můžete extrahovat pomocí šablony podle jednoduchých kroků uvedených níže:

Nahrajte dokument

Nejprve nahrajte dokument PDF do cloudu pomocí níže uvedeného příkladu kódu:

# Vytvořte instanci rozhraní API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)

# nahrát ukázkové soubory
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)

V důsledku toho bude nahraný soubor PDF dostupný v sekce souborů vašeho řídicího panelu v cloudu.

Extrakce dat na základě šablony pomocí Pythonu

Chcete-li programově extrahovat data ze souboru PDF na základě šablony, postupujte podle níže uvedených kroků.

  1. Vytvořte instanci ParseApi
  2. Definujte ParseOptions a nastavte cestu k souboru PDF
  3. Vytvořit šablonu jako objekt
  4. Vytvořte požadavek ParseRequest
  5. Získejte výsledky voláním metody ParseApi.parse()

Následující ukázka kódu ukazuje, jak extrahovat data podle definované šablony z dokumentu PDF pomocí REST API.

# inicializace api
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# definovat možnosti analýzy
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"

# Získejte objekt šablony
options.template = GetTemplate()  

# žádost analyzovat
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# Ukázat výsledky
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);

Níže naleznete šablonu vytvořenou podle dokumentu 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
Extrahovaná data analýzou dokumentu pomocí šablony

Extrahovaná data analýzou dokumentu pomocí šablony

Extrahujte data pomocí souboru šablony pomocí Pythonu

Můžete také extrahovat data z dokumentu PDF poskytnutím souboru šablony založeného na JSON programově. Chcete-li dokument analyzovat poskytnutím souboru šablony, postupujte podle níže uvedených kroků.

  1. Vytvořte instanci ParseApi
  2. Definujte ParseOptions
  3. Nastavte cestu k souboru PDF
  4. Nastavte cestu k souboru šablony
  5. Vytvořte požadavek ParseRequest
  6. Výsledky získáte voláním metody ParseApi.parse()

Následující ukázka kódu ukazuje, jak analyzovat dokument PDF a extrahovat data podle šablony poskytnuté v souboru JSON pomocí REST API. Při nahrání souborů postupujte podle výše uvedených kroků.

# inicializace api
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# definovat možnosti analýzy
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"

# žádost analyzovat
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# ukázat výsledky
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);

Níže naleznete šablonu ve formátu 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
          }
        }
      }
    }
  ]
}

Rozbalte soubor PDF online

Jak používat pdf extraktor online zdarma? Vyzkoušejte prosím následující bezplatný online nástroj pro analýzu PDF a bezplatný extraktor stránek PDF. Tento online bezplatný nástroj na extrahování PDF a extrakt z PDF je vyvinut pomocí výše uvedeného API. https://products.groupdocs.app/parser/pdf

Závěr

V tomto článku jste se naučili, jak extrahovat konkrétní data z dokumentů PDF podle poskytnuté šablony v cloudu. Také jste se naučili, jak vytvořit objekt šablony a poskytnout šablonu ve formátu JSON. Tento článek také vysvětluje, jak programově nahrát soubor PDF do cloudu pro extrakci dat PDF online. Více o GroupDocs.Parser Cloud API se můžete dozvědět pomocí dokumentace. Poskytujeme také sekci API Reference, která vám umožní vizualizovat a pracovat s našimi API přímo prostřednictvím prohlížeče.

Položit otázku

Pokud máte nějaké dotazy ohledně extrahování dat z pdf a extrakce dat pdf online, neváhejte se nás zeptat na Free Support Forum

Viz také