Çevrimiçi pdf sayfa çıkarıcıyı kullanarak taranan pdf'den veya kazıma pdf'den veri çıkarın.

Python kullanarak PDF’den Veri Çıkarma

Kullanıcı tanımlı bir şablon kullanarak PDF veya Word belgelerinizden veri çıkarmanız gerekebilir. Herhangi bir belgeyi ayrıştırabilir ve alanları ve tablo verilerini programlı olarak bulutta ayıklayabilirsiniz. Bu makale, Python’da bir REST API kullanarak PDF belgelerinden belirli verilerin nasıl çıkarılacağını açıklayacaktır.

Bu yazıda aşağıdaki konular ele alınacaktır:

Belge Ayrıştırıcı REST API ve Python SDK

Bir PDF belgesini ayrıştırmak ve bir şablona dayalı verileri ayıklamak için GroupDocs.Parser Cloud’un Python SDK API’sini kullanacağım. PDF belgeleri, Microsoft Office belgeleri ve OpenDocument dosya biçimleri gibi tüm popüler belge türlerinden verileri ayrıştırmanıza olanak tanır. SDK’yı kullanarak bir şablonla metin, resim çıkarabilir ve verileri ayrıştırabilirsiniz. Ayrıca Cloud API için belge ayrıştırıcı aile üyeleri olarak .NET, Java, PHP, Ruby ve Node.js SDK’ları sağlar.

GroupDocs.Parser Cloud’u Python projenize pip ile (python için paket yükleyici) pdf dosyasından bilgi çıkarmak için konsolda aşağıdaki komutu kullanarak yükleyebilirsiniz:

pip install groupdocs_parser_cloud

Lütfen Müşteri Kimliğinizi ve Müşteri Sırrınızı kontrol panelinden alın ve kodu aşağıda gösterildiği gibi ekleyin:

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

Python kullanarak Şablon Nesnesine Göre Veri Çıkarma

Aşağıda belirtilen basit adımları izleyerek bir şablon kullanarak PDF belgelerinden veri çıkarabilirsiniz:

Belgeyi Yükle

Öncelikle, aşağıda verilen kod örneğini kullanarak PDF belgesini Buluta yükleyin:

# API örneğini oluşturun
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)

# örnek dosyaları yükle
request = groupdocs_parser_cloud.UploadFileRequest("companies.pdf", "C:\\Files\\companies.pdf", my_storage)
response = file_api.upload_file(request)

Sonuç olarak, yüklenen PDF dosyası, bulut üzerindeki kontrol panelinizin dosyalar bölümünde mevcut olacaktır.

Python Kullanarak Şablon Tabanlı Veri Çıkarma

Şablona dayalı olarak PDF dosyasından programlı olarak veri çıkarmak için lütfen aşağıda belirtilen adımları izleyin.

  1. Bir ParseApi örneği oluşturun
  2. ParseOptions’ı tanımlayın ve PDF dosyasının yolunu ayarlayın
  3. Bir nesne olarak Şablon oluştur
  4. Ayrıştırma İsteği Oluştur
  5. ParseApi.parse() yöntemini çağırarak sonuçları alın

Aşağıdaki kod örneği, bir REST API kullanarak bir PDF belgesinden tanımlanan şablona göre verilerin nasıl çıkarılacağını gösterir.

# api başlatma
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# ayrıştırma seçeneklerini tanımlayın
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"

# Şablon Nesnesini Al
options.template = GetTemplate()  

# ayrıştırma isteği
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# Sonuçları göster
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);

Lütfen PDF belgesine göre oluşturulan şablonu aşağıda bulabilirsiniz.

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
Şablon kullanarak bir belgeyi ayrıştırarak Çıkarılan Veriler

Şablon kullanarak bir belgeyi ayrıştırarak Çıkarılan Veriler

Python kullanarak Şablon Dosyasına Göre Verileri Çıkarın

Programlı olarak JSON tabanlı bir şablon dosyası sağlayarak da PDF belgesinden veri çıkarabilirsiniz. Bir şablon dosyası sağlayarak belgeyi ayrıştırmak için lütfen aşağıda belirtilen adımları izleyin.

  1. Bir ParseApi örneği oluşturun
  2. Ayrıştırma Seçeneklerini Tanımla
  3. PDF dosyasının yolunu ayarlayın
  4. Şablon dosyasının yolunu ayarlayın
  5. Ayrıştırma İsteği Oluştur
  6. ParseApi.parse() yöntemini çağırarak sonuçları alın

Aşağıdaki kod örneği, bir REST API kullanılarak JSON dosyasında sağlanan şablona göre bir PDF belgesinin nasıl ayrıştırılacağını ve verilerin nasıl çıkarılacağını gösterir. Dosyaları yüklemek için lütfen daha önce belirtilen adımları izleyin.

# api başlatma
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# ayrıştırma seçeneklerini tanımlayın
options = groupdocs_parser_cloud.ParseOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "companies.pdf"
options.template_path = "template.json"

# ayrıştırma isteği
request = groupdocs_parser_cloud.ParseRequest(options)
result = parseApi.parse(request)

# sonuçları göster
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);

Lütfen JSON biçimindeki şablonu aşağıda bulabilirsiniz.

{
  "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
          }
        }
      }
    }
  ]
}

PDF Dosyasını Çevrimiçi Çıkarın

PDF çıkarıcı çevrimiçi ücretsiz nasıl kullanılır? Lütfen aşağıdaki ücretsiz çevrimiçi PDF Ayrıştırma aracını ve ücretsiz pdf sayfa çıkarıcıyı deneyin. Bu çevrimiçi pdf çıkarıcı ve pdf çevrimiçi ücretsiz araç, yukarıdaki API kullanılarak geliştirilmiştir. https://products.groupdocs.app/parser/pdf

Çözüm

Bu makalede, bulutta sağlanan şablona göre PDF belgelerinden belirli verileri nasıl çıkaracağınızı öğrendiniz. Ayrıca bir şablon nesnesi oluşturmayı ve JSON biçiminde bir şablon sağlamayı da öğrendiniz. Bu makale ayrıca çevrimiçi pdf veri ayıklamak için bir PDF dosyasının programlı olarak buluta nasıl yükleneceğini açıkladı. Belgeleri kullanarak GroupDocs.Parser Cloud API hakkında daha fazla bilgi edinebilirsiniz. Ayrıca, API’lerimizi doğrudan tarayıcı aracılığıyla görselleştirmenize ve bunlarla etkileşimde bulunmanıza olanak tanıyan bir API Referansı bölümü de sağlıyoruz.

Bir soru sor

PDF’den veri ayıklama ve çevrimiçi pdf veri çıkarma hakkında herhangi bir sorunuz varsa, lütfen bize Ücretsiz Destek Forumu adresinden sorabilirsiniz.

Ayrıca bakınız