Kaip automatiškai ištraukti duomenis iš daugiašalių PDF su Aspose.OCR
Daugiašalis PDF iš skaitytuvų, archyvų ar įmonių darbo srautų dažnai turi didžiulį kiekį nerekomenduojamo teksto ir lentelių. Manualinė ekstrakcija yra lėta ir ne skalavimo. Aspose.OCR .NET automatuoja teksto, lentų ir struktūrų ekstraktą iš ilgų, sudėtingų PDF su minimaliu kodu.
Realaus pasaulio problemos
Teisiniai, finansiniai ir akademiniai archyvai reguliariai tvarko daugelio puslapių skenuojamus PDF failus, kurių sudėtyje yra šimtų puslapio.
Sprendimo apžvalga
Aspose.OCR for .NET gali rinkti procesą ir ištraukti tekstą / lenteles iš kiekvieno puslapio daugiašalyje PDF. Galite nurodyti puslapių eilutes, eksporto formatus ir automatinę integraciją su verslo programomis ar skaitmeniniais archyvais.
Prerequisites
- „Visual Studio 2019“ arba vėliau
- .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
- ASPOSE.OCR už .NET iš NuGet
- Pagrindiniai C# programavimo įgūdžiai
PM> Install-Package Aspose.OCR
Žingsnis po žingsnio įgyvendinimas
1 žingsnis: Įdiegti ir konfigūruoti Aspose.OCR
using Aspose.OCR;
2 žingsnis: Įtraukti daugiašalius PDF failus
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf"); // all pages
input.Add("report.pdf", 5, 10); // pages 5-14
3 žingsnis: nustatyti atpažinimo nustatymus ir puslapio reitingus
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
4 žingsnis: Iš kiekvieno puslapio ištraukti tekstą ir lenteles
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
5 žingsnis: kiekvieno puslapio eksporto rezultatai
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
6 žingsnis: tvarkyti klaidas ir patvirtinti duomenis
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
7 žingsnis: optimizuokite didelius failus ir batch užduotis
- PDF dokumentai pagal katalogą
- Naudokite selektyvią puslapio apdorojimą greičiui
- Atminties stebėjimas / CPU naudojimas
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
input.Add(file);
}
8 žingsnis: pilnas pavyzdys
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf");
input.Add("report.pdf", 5, 10);
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
Naudokite atvejus ir paraiškas
Teisės ir atitikties archyvas
Išimkite visą sutarčių, teismo dokumentų ar vyriausybės įrašų turinį paieškos ir laikymosi tikslais.
Akademiniai ir mokslinių tyrimų archyvai
Skaitmenizuokite ir suskirstykite žurnalus, disertacijas ar duomenų lenteles analizei ar e-mokymui.
Finansiniai ir audito darbo srautai
Automatinis ekstrakcija iš didelių pareiškimų archyvų, ataskaitų ir plokštelių.
Bendrieji iššūkiai ir sprendimai
1 iššūkis: nesudėtingas puslapių rinkinys
Išsprendimas: Naudokite AUTO aptikimą arba nustatykite skirtingus režimus pagal puslapio diapazoną.
Iššūkis 2: Labai didelis PDF
Išsprendimas: Procesas batuose; skirstomi failai geresnei atminties veiklai.
Iššūkis 3: mišrus turinys (tekstas, lentelės, nuotraukos)
Išsprendimas: Validato ir po proceso išėjimai; tunų aptikimo būdas.
Veiksmingumo apžvalgos
- Dideliems PDF failams reikia daugiau atminties / CPU
- „Batch“ darbo valandos geriausiam rezultatui
- Išleidimo mėginių patikrinimas prieš integraciją
Geriausios praktikos
- Naudokite pavadinimų konvencijas lengvai sekti
- Skirstykite daugiašalis PDF, jei failai yra labai dideli
- Saugoti tiek šaltinio, tiek išeities dokumentus
- Validavimo ir patikrinimo rezultatai kritiniuose darbo srautuose
Išplėstiniai scenarijai
1 scenarijus: eksportuoti į paieškos PDF per puslapį
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.pdf", SaveFormat.Pdf);
page++;
}
2 scenarijus: integruoti į duomenų bazę arba debesį
foreach (RecognitionResult result in results)
{
string json = File.ReadAllText($"output_page_{page}.json");
// Upload json or send to a cloud endpoint
}
Conclusion
Aspose.OCR .NET leidžia tvirtą, skalingą teksto ištraukimą ir struktūrizuotus duomenis iš daugelio puslapių PDF – taupo valandas rankinio darbo ir gerina darbo srautų automatiką.
Žiūrėti daugiau PDF ir batch apdorojimo pavyzdžių ASPOSE.OCR už .NET API nuorodą .