1. পণ্য
  2.   OMR
  3.   C++
  4.   Aspose.OMR for C++

Aspose.OMR for C++

 
 

OMR ফর্ম তৈরি ও ডেটা স্বীকৃতির জন্য C++ লাইব্রেরি

C++ ডেভেলপারদের জন্য একটি আধুনিক অপটিক্যাল মার্ক রিকগনিশন (OMR) সমাধান, যা C++ অ্যাপ্লিকেশনের মধ্যে OMR টেমপ্লেট/ফর্ম তৈরি এবং স্ক্যান করা ছবি ও ফটো স্বীকৃতি দেয়।

Aspose.OMR for C++ কি?

Aspose.OMR for C++ একটি শক্তিশালী এবং নমনীয় C++ OMR API, যা C++ অ্যাপ্লিকেশনের মধ্যে অপটিক্যাল মার্ক রিকগনিশন কাজগুলোকে সহজ করে। সার্ভে সিস্টেম, পরীক্ষা প্রক্রিয়াকরণ টুল বা কাস্টম OMR অ্যাপ তৈরি করা ডেভেলপারদের জন্য আদর্শ, এই SDK নিরবচ্ছিন্ন ইন্টিগ্রেশন প্রদান করে, সঙ্গে রয়েছে বিশদ ডকুমেন্টেশন, নমুনা কোড, এবং ক্রস-প্ল্যাটফর্ম সাপোর্ট। মাল্টিপল-চয়েস, গ্রিড, এবং টেক্সট-ভিত্তিক প্রশ্নের ধরন প্রক্রিয়া করার সক্ষমতা সহ, এটি স্ক্যান করা ইমেজ এবং ফটো সঠিকভাবে পড়তে পারদর্শী। ডেভেলপাররা স্বীকৃতি ফলাফল CSV ফরম্যাটে রপ্তানি করতে পারেন, যা বিভিন্ন প্ল্যাটফর্মে টেস্ট, ফর্ম, বা প্রশ্নাবলীর ডেটা বিশ্লেষণকে সহজ করে, কোনো সামঞ্জস্য সমস্যার চিন্তা না করে।

আপনি যদি কাস্টম C++ OMR সফটওয়্যার ডেভেলপ করছেন বা C++ এর জন্য নির্ভরযোগ্য OMR SDK খুঁজছেন, Aspose.OMR একটি সমন্বিত সমাধান হিসেবে আলাদা হয়ে দাঁড়ায়। এটি চেকবক্স সনাক্তকরণ, গ্রিড ফিল্ড এবং নমনীয় OMR টেমপ্লেটের মতো উন্নত বৈশিষ্ট্য সমর্থন করে। লাইব্রেরিটি অন্যান্য Aspose API গুলোর সঙ্গে মসৃণভাবে সংযুক্ত হয়, যা ডেভেলপারদের অতিরিক্ত ফাইল ফরম্যাট বা ডকুমেন্ট অটোমেশন বৈশিষ্ট্য দিয়ে তাদের অ্যাপ্লিকেশন উন্নত করতে সহায়তা করে। C++ দিয়ে উচ্চ-নির্ভুলতার OMR ইমেজ বিশ্লেষণ থেকে স্কেলযোগ্য ফর্ম প্রসেসিং সিস্টেম গড়ে তোলা পর্যন্ত, Aspose.OMR for C++ ডেভেলপারদের দ্রুত এবং নির্ভরযোগ্যভাবে কার্যকর ও বৈশিষ্ট্য-সমৃদ্ধ OMR সমাধান তৈরি করতে সক্ষম করে।

Previous Next

Aspose.OMR for C++ দিয়ে শুরু করা

Aspose.OMR for C++ ইনস্টল করার সুপারিশকৃত পদ্ধতি হল NuGet এর মাধ্যমে। মসৃণ ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

NuGet এর মাধ্যমে Aspose.OMR for C++ ইনস্টল করুন

 
Install-Package Aspose.OMR.Cpp

আপনি সরাসরি Aspose.OMR পণ্য পেজ থেকে লাইব্রেরি ডাউনলোড করতে পারেন।

C++ API ব্যবহার করে OMR টেমপ্লেট/ফর্ম তৈরি করুন

Aspose.OMR for C++ API টেমপ্লেট তৈরিকে সহজ করে, যা OMR সিস্টেমের একটি গুরুত্বপূর্ণ দিক। C++ OMR API ব্যবহার করে সফটওয়্যার ডেভেলপাররা বিভিন্ন ধরনের ফর্মের জন্য টেমপ্লেট ডিজাইন করতে পারেন, স্ক্যানিং প্রক্রিয়ার সময় সঠিক ডেটা এক্সট্র্যাকশন নিশ্চিত করে। API-টি কাগজের আকার, ওরিয়েন্টেশন, ফন্ট, রঙ এবং অন্যান্য লেআউট সেটিংস কাস্টমাইজ করতে ব্যবহার করা যায়, যা সব টেমপ্লেট পৃষ্ঠায় প্রযোজ্য এবং আরও অনেক কিছু। এই ফিচারটি 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);

C++ API ব্যবহার করে OMR ফর্ম সনাক্ত করুন

Aspose.OMR for C++ উন্নত OMR কার্যকারিতা দিয়ে সজ্জিত, যা সফটওয়্যার ডেভেলপারদের সহজে জটিল ফর্ম ডিজাইন এবং প্রক্রিয়া করতে সক্ষম করে। API ব্যবহার করে অপটিক্যাল মার্ক রিকগনিশন (OMR) ফর্ম স্বীকৃতি একটি সরল প্রক্রিয়া, যা কয়েকটি মূল ধাপ অন্তর্ভুক্ত করে। ইনস্টলেশনের পরে ব্যবহারকারীদের সেই OMR টেমপ্লেট লোড করতে হবে যা আপনি স্বীকৃত করতে চান এমন ফর্মের সাথে মেলে। তারপর OMR ফর্মের স্ক্যান করা ইমেজ লোড করে লোড করা টেমপ্লেট ব্যবহার করে প্রক্রিয়া করুন, স্বীকৃত ডেটা পুনরুদ্ধার করুন এবং প্রয়োজনে সংরক্ষণ করুন। নিম্নলিখিত উদাহরণটি দেখায় কীভাবে C++ অ্যাপ্লিকেশনের মধ্যে OMR ফর্ম স্বীকৃতি এবং ডেটা বের করা যায়।

C++ API ব্যবহার করে OMR ফর্ম থেকে কীভাবে ডেটা স্বীকৃতি ও বের করবেন?

#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 for C++ উচ্চ-গতির স্ক্যানিংয়ে উৎকৃষ্ট, যা OMR শীট থেকে দ্রুত এবং সঠিক ডেটা নিষ্কাশনকে সক্ষম করে। এই বৈশিষ্ট্যটি বিশেষভাবে মূল্যবান এমন অ্যাপ্লিকেশনগুলির জন্য যেখানে সময় গুরুত্বপূর্ণ, যেমন সময়সীমাবদ্ধ পরীক্ষা বা জরিপ। API চেকবক্স, গ্রিড এবং টেক্সট এরিয়া সহ বিস্তৃত OMR উপাদান সমর্থন করে। এই সমগ্র সমর্থন ডেভেলপারদের বিভিন্ন ধরনের ডকুমেন্ট পরিচালনা করতে সক্ষম করে, যা OMR কার্যকারিতা প্রয়োজনীয় অ্যাপ্লিকেশনের জন্য একটি বহুমুখী পছন্দ করে তোলে।

বহু-পৃষ্ঠার ডকুমেন্ট প্রক্রিয়াকরণ

Aspose.OMR for C++ বহু-পৃষ্ঠার ডকুমেন্ট প্রক্রিয়াকরণে উৎকৃষ্ট, যা ডেভেলপারদের বিশাল ডেটাসেট সহজে পরিচালনা করতে সক্ষম করে। এই সক্ষমতা বিশেষত সার্ভে বা পরীক্ষার মতো বহু অংশগ্রহণকারী অ্যাপ্লিকেশনের জন্য মূল্যবান। OMR C++ API ব্যবহার করে বহু-পৃষ্ঠার ডকুমেন্ট প্রক্রিয়াকরণে লোড, প্রক্রিয়া এবং প্রতিটি পৃষ্ঠা থেকে ডেটা বের করার ধাপগুলি অন্তর্ভুক্ত থাকে। যেমন OMR টেমপ্লেট লোড করা, বহু-পৃষ্ঠার ডকুমেন্টের প্রতিটি পৃষ্ঠা প্রক্রিয়া করা এবং ডেটা সংরক্ষণ করা।

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();

 বাংলা