Cara Mengekstrak Data dan Jadual Berstruktur dari PDF dalam .NET

Cara Mengekstrak Data dan Jadual Berstruktur dari PDF dalam .NET

Mengekstrak tabel dan data terstruktur dari PDF adalah tugas umum bagi penganalisis, akuntan, dan siapa pun yang bekerja dengan laporan atau laporan keuangan. Aspose.PDF.Plugin untuk .NET menawarkan opsi programmatik untuk mengidentifikasi, membagikan dan mengekspor tabel seperti teks rata, CSV, atau JSON.

Mengidentifikasi tabel dalam teks PDF

  • PDF sederhana: Jadual dengan sempadan sel yang jelas (tab, ruang, atau garis delimiters) paling mudah untuk mengekstrak.
  • Inspeksi visual: Mengekstrak teks mentah atau murni dan memeriksa pola baris/kolom yang konsisten.
  • Heuristic Parsing: Gunakan logika (misalnya, ekspresi biasa, delimiters) untuk mengidentifikasi baris dan kolom yang mungkin dari teks yang dikeluarkan.

Contoh: Mengekspor tabel sebagai CSV

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));
    }
}

Contoh: Ekspor tabel sebagai JSON

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));

Terbatas & Tips Lanjutan

  • Merged/Spanned Cells: Kebanyakan ekstraksi programmatik tidak dapat mengidentifikasi sel-sel gabungan atau multi-root dengan aman; pemeriksaan manual atau logika tersuai mungkin diperlukan.
  • Tabel kompleks: Tabel dengan gambar, grafik, atau tata letak yang tidak teratur memerlukan parsing lanjutan atau alat ekstraksi tabel visual.
  • Ketepatan: Ekstraksi terbaik dengan tabel sederhana dan terstruktur; selalu meninjau output dan menyesuaikan logika parsing untuk data Anda.

Kasus Penggunaan

  • Analisis keuangan dan audit (ekstrak ledger, tabel perbelanjaan)
  • Data Survei dan Feedback (Tabel Respon Bulk Parse)
  • Migrasi data dari PDF ke database atau Excel

Pertanyaan yang sering ditanya

**Q: Apakah sel-sel bercampur dapat dideteksi atau diproses secara otomatis?**A: Tidak dapat diandalkan - sel-sel yang bercampur / terbelah biasanya membutuhkan koreksi manual atau pemeriksaan visual setelah ekstraksi.

**Q: Adakah pengekstrakan data selalu 100% akurat?**A: Tidak – hasilnya tergantung pada struktur tabel, format, dan PDF Selalu periksa tabel yang dikeluarkan dan, jika perlu, membersihkan menggunakan aturan atau skrip yang disesuaikan.

**Q: Apa mode terbaik untuk ekstraksi meja?**A: Mulai dengan mode Pure untuk tabel terstruktur. mode mentah mungkin berguna untuk perlombongan data atau heuristik tersuai.

Pro Tips: Untuk mengulangi ekstraksi, tun logika parsing Anda untuk setiap template laporan CSV dan JSON Untuk fleksibilitas maksimal.

 Indonesia