مكتبة جافا المجانية لاستخراج نص التعرف الضوئي على الحروف وتحليل المستندات
مكتبة Java OCR مفتوحة المصدر لدمج قدرات التعرف الضوئي على الحروف في تطبيقات Java وتسمح باستخراج النص من الصور وكذلك المستندات الممسوحة ضوئيًا بسهولة.
في العصر الرقمي الحالي، أصبح التعرف الضوئي على الحروف (OCR) أداة أساسية لاستخراج النص من الصور والمستندات الممسوحة ضوئيًا. تتيح تقنية التعرف الضوئي على الحروف (OCR) تحويل النص المطبوع أو المكتوب بخط اليد إلى بيانات يمكن قراءتها آليًا، مما يفتح إمكانيات عديدة لتحليل المستندات واستخراج البيانات والأتمتة. من بين العديد من حلول التعرف الضوئي على الحروف المتاحة، تبرز Tess4J كمكتبة قوية مفتوحة المصدر تجمع بين تعدد استخدامات محرك Tesseract OCR وبساطة برمجة Java.
تعمل مكتبة Tess4J على تمكين مطوري Java من دمج إمكانات التعرف الضوئي على الحروف (OCR) بسلاسة في تطبيقاتهم. وهو عبارة عن غلاف Java لـ Tesseract، وهو محرك OCR تم تطويره في الأصل بواسطة Hewlett-Packard وتتم صيانته حاليًا بواسطة Google. يستفيد Tess4J من محرك التعرف الضوئي على الحروف الخاص بـ Tesseract، المشهور بدقته. ويستخدم خوارزميات متقدمة وتقنيات التعلم الآلي لتحقيق استخراج موثوق للنص من الصور، مما يضمن نتائج عالية الجودة. فهو يتيح تكامل التعرف الضوئي على الحروف (OCR) في تطبيقات Java، مما يجعله متوافقًا مع الأنظمة الأساسية المختلفة، بما في ذلك Windows، وLinux، وmacOS.
يوفر Tess4J واجهة برمجة تطبيقات واضحة وموثقة جيدًا، مما يسهل على المطورين دمج إمكانات التعرف الضوئي على الحروف في تطبيقات Java الخاصة بهم. Tess4J هي مكتبة مفتوحة المصدر ومتعددة الاستخدامات وتمكن المطورين من دمج إمكانات التعرف الضوئي على الحروف القوية في تطبيقات Java الخاصة بهم. بفضل دعمه للغات المتعددة، وميزات المعالجة المسبقة للصور، وإمكانيات تحويل PDF، ونظام تسجيل الثقة، يوفر Tess4J حلاً فعالاً وموثوقًا لاستخراج النص وتحليل المستندات.
البدء مع Tess4J
الطريقة الموصى بها لتثبيت Tess4J هي استخدام Maven. الرجاء استخدام الأمر التالي للتثبيت السلس.
Maven Dependency for Tess4J
<dependencies>
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j;/artifactId>
<version>X.X.X</version>
</dependency>
</dependencies>
قم بتثبيت Tess4J عبر GitHub
git clone https://github.com/nguyenq/tess4j.git
يمكنك أيضًا تثبيته يدويًا؛ قم بتنزيل أحدث ملفات الإصدار مباشرةً من مستودع GitHub.
استخراج المحتوى عبر Java API
تسمح مكتبة Tess4J مفتوحة المصدر لمطوري البرامج باستخراج النص من أنواع مختلفة من الصور داخل تطبيقات Java. تتيح المكتبة إمكانية استخراج النص من الصور، مما يتيح للتطبيقات تحليل ومعالجة المحتوى النصي. تجد هذه الإمكانية تطبيقات في مجالات مثل تحليل المشاعر وتلخيص النص واسترجاع المعلومات. تسهل المكتبة أيضًا تحميل محرك Tesseract OCR وإجراء استخراج المحتوى على الصورة المحددة وطباعة النص المستخرج إلى وحدة التحكم.
إجراء استخراج المحتوى باستخدام مكتبة Java OCR
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
public class ContentExtractionExample {
public static void main(String[] args) {
// Path to the Tesseract OCR installation directory
String tessDataPath = "path/to/tesseract";
// Initialize Tesseract instance
Tesseract tesseract = new Tesseract();
tesseract.setDatapath(tessDataPath);
try {
// Set the language for OCR (e.g., "eng" for English)
tesseract.setLanguage("eng");
// Path to the image file for content extraction
String imagePath = "path/to/image.jpg";
// Perform content extraction
String extractedText = tesseract.doOCR(new File(imagePath));
System.out.println(extractedText);
} catch (TesseractException e) {
e.printStackTrace();
}
}
}
تحويل PDF إلى نص عادي عبر Java API
توفر مكتبة Tess4J مفتوحة المصدر وظائف كاملة لتحميل وتحويل مستندات PDF إلى نص عادي داخل تطبيقات Java. يمكن لـ Tess4J تحويل مستندات PDF القابلة للبحث إلى نص عادي، مما يمكّن المطورين من استخراج المحتوى من ملفات PDF وإجراء المزيد من التحليل أو معالجة البيانات. يوضح المثال التالي كيف يمكن لمطوري البرامج تحويل ملف PDF موجود إلى نص عادي داخل تطبيقات Java.
كيفية تحويل ملف PDF موجود إلى نص عادي؟
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import java.io.File;
import java.io.IOException;
public class PDFToTextConverter {
public static void main(String[] args) {
// Path to the PDF file
String filePath = "path/to/your/pdf/file.pdf";
try {
// Load the PDF document
PDDocument document = PDDocument.load(new File(filePath));
// Create an instance of Tesseract OCR engine
Tesseract tesseract = new Tesseract();
// Set the path to the tessdata directory (containing language data)
tesseract.setDatapath("path/to/your/tessdata/directory");
// Iterate over each page of the PDF document
for (int pageIndex = 0; pageIndex < document.getNumberOfPages(); pageIndex++) {
// Extract the text from the current page
PDFTextStripper stripper = new PDFTextStripper();
stripper.setStartPage(pageIndex + 1);
stripper.setEndPage(pageIndex + 1);
String pageText = stripper.getText(document);
// Perform OCR on the extracted text
String ocrText = tesseract.doOCR(pageText);
// Output the OCR result
System.out.println("Page " + (pageIndex + 1) + " OCR Result:");
System.out.println(ocrText);
System.out.println("--------------------------------------");
}
// Close the PDF document
document.close();
} catch (IOException | TesseractException e) {
e.printStackTrace();
}
}
}