Bagaimana untuk mengautomatikkan entri data daripada borang dengan Aspose.OCR
Mengekstrak maklumat daripada borang kertas, soal selidik, atau tinjauan adalah botol kemasukan data klasik.Dengan Aspose.OCR untuk .NET, anda boleh digitalisasi data bentuk daripada pemindaian atau gambar, mengurangkan kesilapan dan mengubah dokumen yang tidak terstruktur menjadi data yang berstruktur dan boleh diedit.
Masalah dunia sebenar
Pengenalan data borang manual adalah perlahan, mahal, dan sangat terdedah kepada kesilapan - terutamanya dalam organisasi besar, penyelidikan, atau logistik. penulisan tangan, tataletak yang pelbagai dan jenis medan campuran menjadikan automatik mencabar tanpa alat OCR yang kuat.
Gambaran keseluruhan penyelesaian
Aspose.OCR untuk .NET menyediakan tetapan pengenalan yang fleksibel untuk mengekstrak kedua-dua teks yang dicetak dan ditulis secara manual daripada borang, kotak pemeriksaan proses, dan hasil yang berstruktur - sesuai untuk perniagaan, penjagaan kesihatan, sumber manusia, pendidikan dan banyak lagi.
Prerequisites
Sebelum anda memulakan, pastikan anda mempunyai:
- Visual Studio 2019 atau seterusnya
- .NET 6.0 atau lebih baru (atau .Net Framework 4.6.2+)
- Aspose.OCR untuk .NET daripada NuGet
- Pengalaman C#
PM> Install-Package Aspose.OCR
Pelaksanaan langkah demi langkah
Langkah 1: Pemasangan dan Konfigurasi Aspose.OCR
using Aspose.OCR;
Langkah 2: Mengimbas atau memotret bentuk anda
Sediakan imej borang anda (JPEG, PNG, PDF, atau TIFF). anda boleh menambah beberapa fail untuk pengekstrakan batch.
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("form1.png");
input.Add("form2.jpg");
Langkah 3: Mengesetkan tetapan pengenalan
Menyesuaikan tetapan untuk pengesanan bahasa, tataletak, dan (jika perlu) penulisan tangan.
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.DOCUMENT; // For complex or multi-field forms
Langkah 4: Melaksanakan proses pengekstrakan data
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
Langkah 5: Mengeksport atau Menggunakan Data Digital
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText); // Extracted text
result.Save("form_data.txt", SaveFormat.Text); // Save as plain text
result.Save("form_data.xlsx", SaveFormat.Xlsx); // Save as spreadsheet
}
Langkah 6: Menambah penyelesaian kesilapan
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
// further processing
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
Langkah 7: Optimisasi untuk Layout dan Handwriting
- Untuk medan bertulis tangan, gunakan pemindaian DPI yang lebih tinggi dan menyesuaikan tetapan bahasa
- Gunakan DetectAreasMode.TABLE untuk borang jadual, atau DOCUMENT untuk tataletak yang berbeza
- Ujian dengan bentuk sampel untuk tetapan tune
// Example: Add all images from a directory
foreach (string file in Directory.GetFiles("./forms", "*.png"))
{
input.Add(file);
}
Langkah 8 : Contoh Lengkap
using Aspose.OCR;
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("form1.png");
input.Add("form2.jpg");
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.DOCUMENT;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
result.Save("form_data.txt", SaveFormat.Text);
result.Save("form_data.xlsx", SaveFormat.Xlsx);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
Penggunaan Kasus dan Permohonan
Kesihatan dan HR
Mengekstrak dan digitalisasi data borang untuk pengambilan pesakit, permohonan pekerjaan, atau kaji selidik.
Penyelidikan dan Pendidikan
Pemprosesan soal selidik dan penyelidikan automatik untuk analisis yang lebih cepat.
Logistik dan Perniagaan
Digitalisasi nota penghantaran, borang pemeriksaan, atau senarai semak inventori.
Tantangan dan Penyelesaian Bersama
Tantangan 1: Bidang bertulis tangan atau berkualiti rendah
** Penyelesaian:** Gunakan pemindaian berkualiti tinggi dan menyesuaikan tetapan pengenalan untuk penulisan tangan.
Tantangan 2: Layout bentuk yang tidak teratur
** Penyelesaian:** Gunakan mod DOCUMENT untuk tataletak yang kompleks, dan ujian pada sampel.
Tantangan 3 : Batch Extraction
** Penyelesaian:** Gunakan pemprosesan batch berasaskan direktori untuk borang volum tinggi.
Pertimbangan prestasi
- Proses batch untuk kelajuan dan scalability
- Menyediakan objek OCR selepas digunakan
- Mengesahkan pengeluaran sebelum integrasi
amalan terbaik
- Mengkaji data digital untuk ketepatan sebelum automatik
- Seting Tune untuk setiap jenis templat borang
- Arkib asal untuk audit
- Update Aspose.OCR secara berkala untuk peningkatan ciri
Senario lanjutan
Skenario 1: Mengekstrak tulisan tangan daripada bentuk
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.DOCUMENT;
// Optionally, pre-filter for handwriting using image preprocessing
Senario 2: Eksport ke JSON untuk Import pangkalan data
foreach (RecognitionResult result in results)
{
result.Save("form_data.json", SaveFormat.Json);
}
Conclusion
Aspose.OCR untuk .NET automates membentuk pengekstrakan data – menghapuskan input manual dan mempercepatkan perniagaan, penyelidikan, atau aliran kerja pentadbiran.
Lihat lebih banyak penggunaan lanjutan dan sampel kod di Aspose.OCR untuk .NET API Rujukan .