Ez a lépésről lépésre bemutatja, hogyan bonthat ki szöveget a beolvasott PDF-ból C#-ban. Amikor dokumentumokat PDF-be olvas be, ezek az oldalak beolvasott képként kerülnek be a PDF-fájlba. Tehát ahhoz, hogy a beolvasott PDF-fájlból szöveget tudjon kivonni, valójában szöveget kell kivonnia a PDF formátumú képekből C#-ban az optikai karakterfelismerés (OCR) alkalmazásával.
Szöveg kibontásának lépései a beolvasott PDF-ből C#-ban
- Szerezze be a Aspose.OCR for .NET szolgáltatást a NuGet.org csomagkezelőből
- Hivatkozás hozzáadása a következőhöz: Aspose.OCR namespace
- Alkalmazza a licenckódot a SetLicense metódussal
- Indítsa el az AsposeOcr osztály példányát
- Adja meg a felismerési beállításokat a DocumentRecognitionSettings class használatával
- Az összes PDF-oldal kibontása a RecognizePDF módszerrel
- Szöveg lekérése minden PDF-oldalról a RecognitionText tulajdonság segítségével
A fenti lépések segítségével gyorsan és egyszerűen olvashat C# nyelven beolvasott PDF-ből szöveget. Korábban megmutattuk, hogyan kell Szöveg kibontása a képből C#-ban. Ez a példa azonban segít abban, hogy szöveget kapjon PDF-ből C#-ban.
Kód a beolvasott PDF-ből szöveg kinyeréséhez C#-ban
using System; | |
using System.Collections.Generic; | |
//Use following namespace to extract text from scanned PDF | |
using Aspose.OCR; | |
namespace ExtractTextFromScannedPDFFile | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Set license before extracting text from scanned PDF file | |
Aspose.OCR.License AsposeOCRLicense = new Aspose.OCR.License(); | |
AsposeOCRLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
//create AsposeOcr object | |
AsposeOcr ScannedPDFFile = new AsposeOcr(); | |
//set recognition settings | |
DocumentRecognitionSettings RecognitionSettings = new DocumentRecognitionSettings(); | |
RecognitionSettings.StartPage = 1; | |
RecognitionSettings.PagesNumber = 3; | |
//when set true, improves accuracy but reduces speed | |
RecognitionSettings.DetectAreas = false; | |
//extract text from specified pages | |
List<RecognitionResult> ExtractedResults = ScannedPDFFile.RecognizePdf("InputScannedPDFFile.pdf", RecognitionSettings); | |
//fetch extracted text of each page | |
int PageCounter = 1; | |
foreach(RecognitionResult SinglePage in ExtractedResults) | |
{ | |
Console.WriteLine("Page: {0}, Extracted Text:{1}", PageCounter, SinglePage.RecognitionText); | |
PageCounter++; | |
} | |
} | |
} | |
} |
A fenti C# get text from PDF példa egyszerű és könnyen érthető. Egyszerűen beolvasunk egy beolvasott PDF-fájlt, majd minden oldalról kivonunk szöveget. Azonban egy fontos szempont, amelyet itt meg kell érteni, a DetectArea tulajdonság. Ha igazra állítja, akkor nagyobb pontosságot biztosít, de csökkenti a PDF feldolgozásának sebességét. Ha azonban false értékre állítja, a sebesség javul, és a pontosság kissé csökkenhet. Tehát a két lehetőség közül kell választania az Ön helyzete alapján.