كيفية استخراج نص من ملف PDF الممسوح ضوئيًا في C#

يوضح لك هذا البرنامج التعليمي خطوة بخطوة كيفية استخراج النص من الممسوح ضوئيًا PDF في C#. عندما تقوم بمسح المستندات ضوئيًا وتحويلها إلى ملف PDF ، تتم إضافة تلك الصفحات كصور ممسوحة ضوئيًا داخل ملف PDF. لذلك من أجل استخراج النص من ملف PDF الممسوح ضوئيًا ، سيتعين عليك في الواقع استخراج النص من الصور في ملف PDF في C# عن طريق تطبيق التعرف الضوئي على الأحرف (OCR).

خطوات استخراج النص من ملف PDF الممسوح ضوئيًا في C#

  1. احصل على Aspose.OCR for .NET من مدير الحزم NuGet.org
  2. أضف مرجعًا إلى Aspose.OCR namespace
  3. تطبيق كود الترخيص باستخدام طريقة SetLicense
  4. بدء مثيل من فئة AsposeOcr
  5. حدد إعدادات التعرف باستخدام DocumentRecognitionSettings class
  6. قم باستخراج جميع صفحات PDF باستخدام طريقة RecognizePDF
  7. احصل على نص من كل صفحة PDF باستخدام خاصية RecognitionText

بمساعدة الخطوات المذكورة أعلاه ، يمكنك قراءة النص من ملف PDF الممسوح ضوئيًا في C# بسرعة وسهولة. في وقت سابق ، أوضحنا لك كيفية استخراج النص من الصورة في C#. ومع ذلك ، يساعدك هذا المثال في الحصول على نص من PDF في C#.

رمز لاستخراج النص من ملف PDF الممسوح ضوئيًا في 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++;
}
}
}
}

مثال C# للحصول على نص من ملف PDF بسيط وسهل الفهم. نحن نقرأ ببساطة ملف PDF ممسوحًا ضوئيًا ثم نستخرج النص من كل صفحة. ومع ذلك ، هناك نقطة مهمة يجب فهمها هنا وهي خاصية DetectArea. إذا قمت بضبطه على صحيح ، فسيوفر لك مزيدًا من الدقة ولكنه سيقلل من سرعة معالجة ملف PDF. ومع ذلك ، من خلال تعيينه على “خطأ” ، ستتحسن السرعة وقد تقل الدقة قليلاً. لذلك عليك أن تختار بين الخيارين بناءً على حالتك.

 عربي