کتابخانه رایگان جاوا برای استخراج متن OCR و تجزیه و تحلیل اسناد
کتابخانه Java OCR منبع باز برای ترکیب قابلیت های OCR در برنامه های جاوا و امکان استخراج متن از تصاویر و همچنین اسناد اسکن شده را فراهم می کند.
در عصر دیجیتال امروزی، تشخیص کاراکتر نوری (OCR) به ابزاری ضروری برای استخراج متن از تصاویر و اسناد اسکن شده تبدیل شده است. فناوری OCR تبدیل متن چاپ شده یا دستنویس به دادههای قابل خواندن توسط ماشین را امکانپذیر میسازد و فرصتهای زیادی را برای تجزیه و تحلیل اسناد، استخراج دادهها و اتوماسیون باز میکند. در میان بسیاری از راه حل های OCR موجود، Tess4J به عنوان یک کتابخانه منبع باز قدرتمند که تطبیق پذیری موتور Tesseract OCR را با سادگی برنامه نویسی جاوا ترکیب می کند، متمایز است.
کتابخانه Tess4J به توسعه دهندگان جاوا اجازه می دهد تا قابلیت های OCR را به طور یکپارچه در برنامه های خود بگنجانند. این یک بسته بندی جاوا برای Tesseract است، یک موتور OCR که در اصل توسط Hewlett-Packard توسعه یافته و در حال حاضر توسط گوگل نگهداری می شود. Tess4J از موتور OCR Tesseract استفاده می کند که به دلیل دقت آن مشهور است. از الگوریتمهای پیشرفته و تکنیکهای یادگیری ماشینی برای دستیابی به استخراج متن قابل اعتماد از تصاویر استفاده میکند و نتایج با کیفیت بالا را تضمین میکند. این یکپارچه سازی OCR را در برنامه های جاوا فعال می کند و آن را با پلتفرم های مختلف از جمله Windows، Linux، و macOS سازگار می کند.
Tess4J یک API سرراست و مستند ارائه میکند که ادغام قابلیتهای OCR را در برنامههای جاوا برای توسعهدهندگان آسان میکند. Tess4J یک کتابخانه منبع باز همه کاره و قوی است که به توسعه دهندگان این امکان را می دهد تا قابلیت های قدرتمند OCR را در برنامه های جاوا خود ادغام کنند. Tess4J با پشتیبانی از چندین زبان، ویژگی های پیش پردازش تصویر، قابلیت تبدیل PDF و سیستم امتیازدهی اطمینان، راه حلی کارآمد و قابل اعتماد برای استخراج متن و تجزیه و تحلیل اسناد ارائه می دهد.
شروع به کار با Tess4J
روش توصیه شده برای نصب Tess4J استفاده از Maven است. لطفا از دستور زیر برای نصب راحت استفاده کنید.
وابستگی Maven برای 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 به توسعه دهندگان نرم افزار اجازه می دهد تا متن را از انواع مختلف تصاویر درون برنامه های جاوا استخراج کنند. این کتابخانه استخراج متن از تصاویر را امکان پذیر می کند و برنامه ها را قادر می سازد تا محتوای متنی را تجزیه و تحلیل و پردازش کنند. این قابلیت در زمینه هایی مانند تحلیل احساسات، خلاصه سازی متن و بازیابی اطلاعات کاربرد دارد. این کتابخانه همچنین بارگذاری موتور 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 به یک متن ساده در برنامه های جاوا ارائه کرده است. Tess4J می تواند اسناد PDF قابل جستجو را به متن ساده تبدیل کند و توسعه دهندگان را قادر می سازد محتوا را از فایل های PDF استخراج کرده و تجزیه و تحلیل یا پردازش داده های بیشتری را انجام دهند. مثال زیر نشان میدهد که چگونه توسعهدهندگان نرمافزار میتوانند یک فایل PDF موجود را به متن ساده در برنامههای جاوا تبدیل کنند.
چگونه یک فایل 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();
}
}
}