Free Swift OCR Library to Perform OCR on Scanned Images & PDFs
Open Source Swift Optical Character Recognition (OCR) Library allows to Scan, Recognize, and Extract Text from Camera Photos Scanned Images & PDFs for free inside iOS and macOS
ما هو SwiftyTesseract؟
SwiftyTesseract هي مكتبة OCR رائدة مفتوحة المصدر صُممت خصيصًا لنظام سويفت، تمكّن مطوري البرمجيات من دمج التعرف الضوئي المتطور على الأحرف بسلاسة في تطبيقاتهم على iOS و macOS. من خلال الاستفادة من محرك Tesseract OCR القوي والمثبت في الصناعة، توفر واجهة سويفت بديهية ومبسطة لاستخراج النص بدقة من الصور، المستندات الممسوحة، ومختلف الوسائط الرقمية. وهذا يجعلها أساسًا مثاليًا للمطورين الذين يبنون كل شيء من أدوات قراءة النص البسيطة إلى أدوات معالجة البيانات المعقدة التي تتطلب مسحًا نصيًا موثوقًا داخل بيئة Apple.
تبسط هذه المكتبة دمج OCR عن طريق تغليف وظائف Tesseract في واجهة برمجة تطبيقات سهلة الاستخدام للمطورين. تُقدِّم مرونة واسعة مباشرةً من الصندوق، بما في ذلك دعم قوي لعدة لغات—ميزة حاسمة لإنشاء تطبيقات دولية. لضمان دقة عالية، يدمج SwiftyTesseract إمكانيات معالجة ما قبل الصورة الأساسية التي تعزز وضوح النص قبل التعرف. علاوةً على ذلك، يحتفظ المطورون بتحكم دقيق عبر تخصيص خيارات تكوين Tesseract الرئيسية، مثل وضع محرك OCR ووضع تقسيم الصفحة. يجمع هذا الجمع بين سهولة الاستخدام، دعم متعدد اللغات، وقابلية تخصيص عميقة لتصبح SwiftyTesseract أداة فريدة ومتعددة الاستخدامات للمطورين الذين يواجهون مجموعة واسعة من مشاريع التعرف على النص.
البدء مع SwiftyTesseract
الطريقة الموصى بها لتثبيت SwiftyTesseract هي باستخدام CocoaPods. يرجى استخدام الأمر التالي لتثبيت سلس.
تثبيت SwiftyTesseract عبر CocoaPods
pod 'SwiftyTesseract' يمكنك أيضًا تثبيتها يدويًا؛ حمّل أحدث ملفات الإصدار مباشرةً من GitHub المستودع.
إجراء OCR على صورة عبر مكتبة سويفت
تجعل مكتبة SwiftyTesseract المفتوحة المصدر من السهل على مطوري البرمجيات تحميل أنواع مختلفة من الصور وإجراء عملية OCR وفقًا لاحتياجاتهم داخل تطبيقات سويفت. يمكنك استخدام صورة من موارد التطبيق أو أي مصدر آخر. يمكن للمكتبة التعرف على النص في خطوط متعددة، بما في ذلك Serif، Arial، Sans-serif، والخطوط المكتوبة. إليك مقتطف شفرة يوضح كيف يمكن للمطورين التعرف على النص من صورة داخل تطبيقات سويفت.
كيف يتم التعرف على النص من صورة داخل تطبيقات سويفت؟
import SwiftyTesseract
// Load the image
let image = UIImage(named: "image.jpg")!
// Create a Tesseract instance
let tesseract = Tesseract()
// Set the language to English
tesseract.language = "eng"
// Set the image
tesseract.image = image
// Recognize the text
tesseract.recognize() { result in
if let text = result.text {
print("Recognized text: \(text)")
} else {
print("Error recognizing text")
}
}
دعم ما قبل معالجة الصورة
توفر مكتبة SwiftyTesseract دعمًا كاملاً لمعالجة ما قبل الصورة قبل تنفيذ عمليات OCR داخل تطبيقات سويفت. على سبيل المثال، يمكنك تحويل الصور إلى تدرج الرمادي، تغيير الحجم، أو تعديل التباين، تصحيح الانحراف، التحويل إلى ثنائي، وما إلى ذلك. إليك مثال يوضح كيف يمكن للمطورين تغيير حجم الصورة قبل تنفيذ OCR. في مثال الشفرة هذا، تقوم الدالة resizeImage بتغيير حجم الصورة قبل معالجتها، وهو ما قد يكون مفيدًا عند العمل مع صور عالية الدقة.
كيف يتم معالجة الصور قبل عمليات OCR داخل تطبيقات سويفت؟
func resizeImage(_ image: UIImage, newSize: CGSize) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
image.draw(in: CGRect(origin: .zero, size: newSize))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
if let resizedImage = resizeImage(image, newSize: CGSize(width: 300, height: 300)) {
tesseract.performOCR(on: resizedImage) { recognizedText in
print("Resized Image OCR result: \(recognizedText ?? "No text found")")
}
}
عمليات OCR متعددة اللغات عبر مكتبة سويفت
تدعم مكتبة SwiftyTesseract المفتوحة المصدر التعرف على النص بأكثر من 100 لغة، بما في ذلك الإنجليزية، الإسبانية، الفرنسية، الألمانية، الصينية، والعديد غيرها. يمكنك تحديد اللغة التي تريدها عند تهيئة المكتبة. توسّع هذه الميزة نطاق استخدامها للمستخدمين الدوليين ومتطلبات المعالجة متعددة اللغات. علاوةً على ذلك، يمكن للمطورين إنشاء قواميس مخصصة لتحسين دقة عملية OCR. إليك مثال على تكوين المكتبة للإنجليزية والإسبانية. يتيح هذا الشيفرة تشغيل OCR باللغتين الإنجليزية والإسبانية، وهو مفيد عند معالجة مستندات تحتوي على محتوى مختلط اللغات.
كيف يتم اختيار اللغات لعمليات OCR متعددة اللغات داخل تطبيقات سويفت؟
let tesseract = SwiftyTesseract(language: [.english, .spanish])
معلمات OCR قابلة للتخصيص
باستخدام مكتبة SwiftyTesseract المفتوحة المصدر، يمتلك مطورو البرمجيات القدرة على تخصيص إعدادات OCR لتحسين الدقة للوثائق أو اللغات المحددة. تسمح هذه القدرة للمطورين بضبط عملية OCR بدقة، مما يجعل المكتبة قابلة للتكيف مع سيناريوهات OCR الفريدة أو المعقدة. يتضمن ذلك إمكانية تحديد اللغات والمتغيرات الخاصة بـ OCR بناءً على احتياجات المستند. أدناه مثال يوضح كيف يمكن للمطورين تخصيص وضع محرك OCR ووضع تقسيم الصفحة.
كيف يتم تخصيص وضع محرك OCR ووضع تقسيم الصفحة عبر واجهة برمجة تطبيقات سويفت؟
let tesseract = SwiftyTesseract(language: .english, engineMode: .lstmOnly)
tesseract.performOCR(on: image, configuration: [.psm(.auto)]) { recognizedString in
if let recognizedString = recognizedString {
print("Recognized text with custom PSM: \(recognizedString)")
}
}