Hogyan lehet szöveget kivonni a beolvasott PDF-ből C#-ban

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

  1. Szerezze be a Aspose.OCR for .NET szolgáltatást a NuGet.org csomagkezelőből
  2. Hivatkozás hozzáadása a következőhöz: Aspose.OCR namespace
  3. Alkalmazza a licenckódot a SetLicense metódussal
  4. Indítsa el az AsposeOcr osztály példányát
  5. Adja meg a felismerési beállításokat a DocumentRecognitionSettings class használatával
  6. Az összes PDF-oldal kibontása a RecognizePDF módszerrel
  7. 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.

 Magyar