Yapılandırılmış verileri ve tabloları PDF'den .NET'te nasıl çıkarılır

Yapılandırılmış verileri ve tabloları PDF'den .NET'te nasıl çıkarılır

Tabloları ve yapılandırılmış verileri PDF’lerden çıkarmak, analistler, muhasebeciler ve raporlar veya finansal raporlarla çalışan herkes için yaygın bir görevdir. .NET için Aspose.PDF.Plugin, düz metin, CSV veya JSON gibi tabloların tespit edilmesi, parçalanması ve ihraç edilmesine yönelik programlama seçenekleri sunar.

PDF Metinde Tabloların Tanımlanması

  • Basit PDF: Temiz hücre sınırları olan tablolar (tab, alan veya çizgi sınırlayıcılar) çıkarılması en kolaydır.
  • Visual Inspection: Kuru veya saf metni çıkarın ve tutarlı satır / sütun desenleri için kontrol edin.
  • Heurist Parsing: Lojiyi (örneğin, düzenli ifadeler, delimiterler) çıkarılan metinden olası satırları ve sütunları tanımlamak için kullanın.

Örnek: CSV olarak tabloları ihraç etmek

using Aspose.Pdf.Plugins;
using System.IO;

string input = @"C:\Docs\financial-report.pdf";
var extractor = new TextExtractor();
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
options.AddInput(new FileDataSource(input));
string extracted = extractor.Process(options).ResultCollection[0].ToString();

// Simple parsing: Assume rows separated by '\n', columns by tabs or spaces
var rows = extracted.Split('\n');
using (var writer = new StreamWriter(@"C:\Docs\extracted-table.csv"))
{
    foreach (var row in rows)
    {
        var columns = row.Split(new[] {'\t', ' '}, StringSplitOptions.RemoveEmptyEntries);
        writer.WriteLine(string.Join(",", columns));
    }
}

Örnek: JSON olarak tabloları ihraç etmek

using System.Text.Json;
var table = rows
    .Where(r => r.Trim().Length > 0)
    .Select(r => r.Split(new[] {'\t', ' '}, StringSplitOptions.RemoveEmptyEntries))
    .ToList();

File.WriteAllText(@"C:\Docs\extracted-table.json", JsonSerializer.Serialize(table));

Sınırlamalar ve Gelişmiş İpuçları

  • Merged/Spanned Cells: Çoğu programlı çıkarma güvenilir bir şekilde birleşmiş veya çok çubuklu hücreleri tespit edemez; manuel inceleme veya özelleştirilmiş mantık gerekebilir.
  • Mükemmel tablolar: Görüntüleri, grafikleri veya düzensiz düzenleri olan tablolara ileri parsing veya görsel bir tablo çıkarma aracı gerektirir.
  • Doğruluk: Ekstraksiyon basit, iyi yapılandırılmış tablolarla en iyisidir; her zaman çıkışları incelemek ve verileriniz için parsing mantığını ayarlamak.

Kullanım Senaryoları

  • Finansal analizler ve denetimler (ekstrakt çekirdekler, harcama tabloları)
  • Soruşturma ve geribildirim verileri (parse bulk yanıt tablosu)
  • PDF’lerden veritabanlarına veya Excel’e veri aktarımı

Sıkça Sorulan Sorular

**Q: Birleşmiş hücreler otomatik olarak tespit edilebilir veya işlenebilir mi?**A: Güvenilir değil - karıştırılmış / sızılmış hücreler genellikle çıkarıldıktan sonra manuel düzeltme veya görsel inceleme gerektirir.

**Q: Verilerin çıkarılması her zaman %100 doğru mu?**A: Hayır - sonuçlar tablo yapısına, biçimlendirilmesine ve PDF için Her zaman çıkarılan tabloları inceleyin ve gerekirse özelleştirilmiş kurallar veya yazı tipleri kullanarak temizleyin.

**Q: Masa ekstraksiyonu için en iyi mod nedir?**A: Yapılandırılmış tablolar için Temiz modu ile başlayın. ham modu veri madenciliği veya özelleştirilmiş heuristik için yararlı olabilir.

Pro İpucu: Ekstraksiyonları tekrarlamak için, her rapor şablonu için parsing mantığınızı düzeltin CSV ve JSON Maksimum esneklik için.

 Türkçe