Aspose.OMR للغة C++
مكتبة C++ لإنشاء نماذج OMR وتعرّف البيانات
حل متطور للتعرف البصري على العلامات (OMR) للمطورين بلغة C++ يتيح إنشاء نماذج/قوالب OMR وتعرّف الصور الممسوحة واللقطات داخل تطبيقات C++.
ما هو Aspose.OMR للغة C++؟
Aspose.OMR للغة C++ هي واجهة برمجة تطبيقات OMR قوية ومرنة للغة C++ صُمّمت لتبسيط مهام التعرف البصري على العلامات داخل تطبيقات C++. تُعد مثالية للمطورين الذين يبنون أنظمة استبيانات، أدوات معالجة الامتحانات، أو تطبيقات OMR مخصصة، حيث تقدم هذه الحزمة تكاملًا سلسًا، مصحوبةً بوثائق مفصلة، أمثلة برمجية، ودعم عبر الأنظمة. بفضل إمكاناتها لمعالجة أسئلة الاختيار من متعدد، الشبكات، والأسئلة النصية، تتفوق في قراءة الصور الممسوحة واللقطات بدقة عالية. يمكن للمطورين تصدير نتائج التعرف بصيغة CSV، مما يسهل تحليل البيانات من الاختبارات أو النماذج أو الاستبيانات على مختلف المنصات دون القلق بشأن مشاكل التوافق.
سواء كنت تطوّر برنامج OMR مخصص بلغة C++ أو تبحث عن حزمة تطوير OMR موثوقة للغة C++، يبرز Aspose.OMR كحل شامل. يدعم ميزات متقدمة مثل اكتشاف خانات الاختيار، حقول الشبكة، وقوالب OMR مرنة. تُدمج المكتبة أيضًا بسلاسة مع واجهات برمجة تطبيقات Aspose الأخرى، مما يتيح للمطورين تعزيز تطبيقاتهم بميزات إضافية لمعالجة صيغ الملفات أو أتمتة المستندات. من التحليل الدقيق للصور باستخدام OMR مع C++ إلى بناء أنظمة معالجة نماذج قابلة للتوسع، يمنح Aspose.OMR للغة C++ المطورين القدرة على إنشاء حلول OMR فعّالة وغنية بالميزات بسرعة وموثوقية.
بدء الاستخدام مع Aspose.OMR للغة C++
الطريقة الموصى بها لتثبيت Aspose.OMR للغة C++ هي عبر NuGet. يرجى استخدام الأمر التالي لتثبيت سلس.
Install Aspose.OMR for C++ via NuGet
Install-Package Aspose.OMR.Cpp
يمكنك تحميل المكتبة مباشرةً من صفحة المنتج Aspose.OMR
إنشاء قالب/نموذج OMR عبر واجهة برمجة التطبيقات C++
تسهل واجهة برمجة تطبيقات Aspose.OMR للغة C++ إنشاء القوالب، وهو جانب حاسم في أنظمة OMR. باستخدام واجهة برمجة تطبيقات OMR للغة C++، يمكن لمطوري البرمجيات تصميم قوالب لأنواع مختلفة من النماذج، مما يضمن استخراج بيانات دقيقة أثناء عملية المسح. يمكن استخدام الواجهة لتخصيص حجم الورق، الاتجاه، الخط، الألوان وإعدادات التخطيط الأخرى التي تنطبق على جميع صفحات القالب والمزيد. تُبسّط هذه الميزة دمج إمكانيات OMR في مختلف المجالات، مثل الاستبيانات، الامتحانات، والتقييمات. يوضح المثال التالي كيفية إنشاء صورة نموذج يمكن طباعتها وتوزيعها على المستجيبين داخل تطبيقات C++.
كيفية إنشاء صورة نموذج داخل تطبيقات C++؟
//Generate the form for ANSI Letter paper size
System::SharedPtr engine = System::MakeObject();
// Generate the form for ANSI Letter paper size (8.5 by 11 inches)
System::SharedPtr settings = System::MakeObject();
settings->setPaperSize(Api::PaperSize::Letter);
System::SharedPtr result = engine->GenerateTemplate(markupPath, nullptr, settings);
التعرف على نماذج OMR عبر واجهة برمجة تطبيقات C++
يأتي Aspose.OMR للغة C++ مزودًا بوظائف OMR متقدمة، مما يتيح لمطوري البرمجيات تصميم ومعالجة نماذج معقدة بسهولة. عملية التعرف على نماذج التعرف البصري على العلامات (OMR) باستخدام الواجهة برمجية بسيطة وتتضمن عدة خطوات رئيسية. بعد التثبيت، يحتاج المستخدم إلى تحميل قالب OMR الذي يتوافق مع النموذج الذي تريد التعرف عليه. بعد ذلك، يتم تحميل صورة النموذج الممسوحة ومعالجتها باستخدام القالب المحمل، ثم استرداد البيانات المتعرف عليها وحفظها إذا لزم الأمر. يوضح المثال التالي كيفية التعرف على واستخراج البيانات من نموذج OMR داخل تطبيقات C++.
كيفية التعرف على واستخراج البيانات من نموذج OMR باستخدام واجهة برمجة تطبيقات C++؟
#include
omr::AsposeOmrApi api;
api.LoadTemplate("path/to/your/template.omr");
// Load and Process the Image
api.LoadImage("path/to/your/scanned/image.jpg");
api.Process();
// Access Recognized Data
omr::OmrPageReader reader = api.GetOmrPageReader();
std::vector pages = reader.ExtractPages();
omr::OmrPage page = pages[0]; // Assuming there's only one page in the form
// Access and handle recognized data
// Example: Extracting data from the grid
omr::Grid grid = page.GetGrids()[0]; // Assuming there's only one grid on the page
std::vector> data = grid.ExtractData();
// Finalize and Cleanup
api.Finalize();
مسح OMR عالي السرعة وفعّال
الكفاءة هي الأساس، خاصةً عند التعامل مع حجم كبير من المستندات الممسوحة. يتفوق Aspose.OMR للغة C++ في مسح OMR عالي السرعة، مما يتيح استخراج بيانات سريع ودقيق من أوراق OMR. هذه الميزة ذات قيمة خاصة للتطبيقات التي يكون الوقت فيها عاملًا حاسمًا، مثل الامتحانات أو الاستبيانات المحدودة الوقت. تدعم الواجهة مجموعة واسعة من عناصر OMR، بما في ذلك خانات الاختيار، الشبكات، ومناطق النص. يتيح هذا الدعم الشامل للمطورين التعامل مع أنواع متعددة من المستندات، مما يجعلها خيارًا متعدد الاستخدامات للتطبيقات التي تتطلب وظائف OMR.
معالجة المستندات متعددة الصفحات
Aspose.OMR للغة C++ يتفوق في معالجة المستندات متعددة الصفحات، مما يتيح للمطورين التعامل مع مجموعات بيانات كبيرة بسهولة. هذه القدرة ذات قيمة خاصة للتطبيقات التي تشمل استبيانات أو امتحانات مع عدد كبير من المشاركين. معالجة المستندات متعددة الصفحات باستخدام واجهة برمجة تطبيقات OMR C++ تتضمن سلسلة من الخطوات لتحميل، معالجة، واستخراج البيانات من كل صفحة. مثل تحميل قالب OMR، معالجة كل صفحة من المستند متعدد الصفحات وحفظ البيانات.
How to Load and Process Each Page of Multi-page Document via C++ API?
#include
// Load the OMR template
omr::AsposeOmrApi api;
api.LoadTemplate("path/to/your/template.omr");
//process each page of the multi-page document.
const int pageCount = 5; // Change this to the total number of pages in your document
for (int currentPage = 1; currentPage <= pageCount; ++currentPage) {
std::string imagePath = "path/to/your/scanned/image" + std::to_string(currentPage) + ".jpg";
api.LoadImage(imagePath);
api.Process();
// Access and handle recognized data for each page
omr::OmrPageReader reader = api.GetOmrPageReader();
std::vector pages = reader.ExtractPages();
omr::OmrPage page = pages[0]; // Assuming there's only one page in each image
// Access and handle recognized data
// Example: Extracting data from the grid
omr::Grid grid = page.GetGrids()[0]; // Assuming there's only one grid on the page
std::vector> data = grid.ExtractData();
// Further processing or storage of the data can be done here
// Cleanup for the next iteration
api.Finalize();
}
// release resources.
api.Finalize();