Bagaimana untuk Mengekstrak Data dan Jadual Berstruktur Dari PDF dalam .NET
Mengekstrak jadual dan data berstruktur daripada PDF adalah satu tugas biasa bagi penganalisis, akauntan, dan sesiapa sahaja yang bekerja dengan laporan atau laporan kewangan. Aspose.PDF.Plugin untuk .NET menawarkan pilihan program untuk mengesan, menggariskan dan mengeksport Jadual seperti teks rata, CSV, atau JSON.
Mengidentifikasi jadual dalam teks PDF
- Sederhana PDF: Jadual dengan sempadan sel yang jelas (tab, ruang, atau garis delimiters) adalah paling mudah untuk mengekstrak.
- ** Pemeriksaan visual:** Mengekstrak teks mentah atau tulen dan memeriksa untuk corak baris / lajur yang konsisten.
- Heuristic Parsing: Gunakan logik (contohnya, ungkapan biasa, delimiters) untuk mengenal pasti baris dan lajur yang mungkin daripada teks yang dikeluarkan.
Contoh: Mengeksport Jadual 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: Mengeksport jadual 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));
Terhad & Tips Lanjutan
- Bahan-bahan yang digabungkan / dilipat: Kebanyakan pengekstrakan berprogram tidak boleh dideteksi secara boleh dipercayai sel-sel gabungan atau pelbagai batu; pemeriksaan manual atau logik disesuaikan mungkin diperlukan.
- Jadual kompleks: Jadual dengan imej, grafik, atau tataletak yang tidak teratur memerlukan parsing lanjutan atau alat pengekstrakan jadual visual.
- Kesempurnaan: Ekstraksi terbaik dengan jadual yang mudah dan terstruktur; sentiasa meninjau output dan menyesuaikan logik parsing untuk data anda.
Penggunaan Kasus
- Analisis kewangan dan audit (ekstrak ledger, jadual perbelanjaan)
- Data kaji selidik dan maklum balas (jadual jawapan bulk parse)
- Migrasi data daripada PDF ke pangkalan data atau Excel
Soalan-soalan yang kerap ditanya
**Q: Bolehkah sel-sel yang digabungkan dikesan atau diproses secara automatik?**A: Tidak boleh dipercayai - sel-sel yang dicampur biasanya memerlukan pembetulan manual atau pemeriksaan visual selepas pengekstrakan.
**Q: Adakah pengekstrakan data sentiasa 100% tepat?**A: Tidak - hasilnya bergantung kepada struktur jadual, pemformatan, dan kualiti PDF. sentiasa meninjau tabel yang dikeluarkan dan, jika perlu, membersihkan dengan menggunakan peraturan atau skrip yang disesuaikan.
**Q: Apakah mod terbaik untuk pengekstrakan meja?**A: Mulakan dengan mod Bersih untuk jadual terstruktur. mod mentah boleh berguna untuk perlombongan data atau heuristik tersuai.
Pro Tip: Untuk mengulangi pengekstrakan, tun logik parsing anda untuk setiap templat laporan. pertimbangkan untuk mengeksport ke kedua-dua CSV dan JSON untuk fleksibiliti maksimum.