Jak wyodrębnić tekst ze zeskanowanego pliku PDF w języku C#

Ten samouczek krok po kroku pokazuje, jak wyodrębnić tekst z zeskanowanego PDF w języku C#. Podczas skanowania dokumentów do pliku PDF strony te są dodawane jako zeskanowane obrazy do pliku PDF. Tak więc, aby wyodrębnić tekst ze zeskanowanego pliku PDF, będziesz musiał wyodrębnić tekst z obrazów w formacie PDF w języku C#, stosując optyczne rozpoznawanie znaków (OCR).

Kroki, aby wyodrębnić tekst ze zeskanowanego pliku PDF w języku C#

  1. Uzyskaj Aspose.OCR for .NET od menedżera pakietów NuGet.org
  2. Dodaj odwołanie do Aspose.OCR namespace
  3. Zastosuj kod licencyjny za pomocą metody SetLicense
  4. Zainicjuj wystąpienie klasy AsposeOcr
  5. Określ ustawienia rozpoznawania za pomocą DocumentRecognitionSettings class
  6. Wyodrębnij wszystkie strony PDF za pomocą metody RecognizePDF
  7. Pobierz tekst z każdej strony PDF za pomocą właściwości RecognitionText

Za pomocą powyższych kroków możesz szybko i łatwo czytać tekst z zeskanowanego pliku PDF w języku C#. Wcześniej pokazaliśmy, jak Wyodrębnij tekst z obrazu w C#. Jednak ten przykład pomaga uzyskać tekst z pliku PDF w języku C#.

Kod do wyodrębniania tekstu ze zeskanowanego pliku PDF w języku C#

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++;
}
}
}
}

Powyższy przykład pobierania tekstu w języku C# z pliku PDF jest prosty i łatwy do zrozumienia. Po prostu czytamy zeskanowany plik PDF, a następnie wyodrębniamy tekst z każdej strony. Jednak jednym ważnym punktem do zrozumienia tutaj jest właściwość DetectArea. Jeśli ustawisz to na true, zapewni to większą dokładność, ale zmniejszy szybkość przetwarzania pliku PDF. Jednak ustawienie go na fałsz spowoduje poprawę szybkości i może nieco zmniejszyć dokładność. Musisz więc wybrać jedną z dwóch opcji w zależności od sytuacji.

 Polski