Aspose.OMR for C++
C++-kirjasto OMR-lomakkeiden luomiseen ja tietojen tunnistamiseen
Huipputason optinen merkintätunnistus (OMR) -ratkaisu C++-kehittäjille, joka mahdollistaa OMR-mallipohjien/lomakkeiden luomisen ja skannattujen kuvien sekä valokuvien tunnistamisen C++-sovelluksissa.
Mikä on Aspose.OMR for C++?
Aspose.OMR for C++ on tehokas ja joustava C++ OMR -rajapinta, joka on suunniteltu tehostamaan optisen merkintätunnistuksen (OMR) tehtäviä C++-sovelluksissa. Se on ihanteellinen kehittäjille, jotka rakentavat kyselyjärjestelmiä, kokeiden käsittelytyökaluja tai räätälöityjä OMR-sovelluksia; tämä SDK tarjoaa saumattoman integroinnin, kattavan dokumentaation, esimerkkikoodin ja monialustatuen. Kyky käsitellä monivalintakysymyksiä, ruudukko- ja tekstipohjaisia kysymystyyppejä tekee siitä erinomaisen tarkkojen skannattujen kuvien ja valokuvien lukemisessa. Kehittäjät voivat viedä tunnistustulokset CSV-muodossa, mikä helpottaa testien, lomakkeiden tai kyselyiden tietojen analysointia eri alustoilla ilman yhteensopivuusongelmia.
Olipa kyseessä sitten räätälöidyn C++ OMR -ohjelmiston kehittäminen tai luotettavan OMR SDK:n etsiminen C++:lle, Aspose.OMR erottuu kokonaisvaltaisena ratkaisuna. Se tukee edistyneitä ominaisuuksia, kuten valintaruutujen tunnistusta, ruudukkoalueita ja joustavia OMR‑mallipohjia. Kirjasto integroituu myös sujuvasti muihin Aspose‑rajapintoihin, jolloin kehittäjät voivat laajentaa sovelluksiaan lisämuoto- tai asiakirja‑automaatiotoiminnoilla. Korkean tarkkuuden OMR‑kuva-analyysistä C++:lla skaalautuvien lomakekäsittelyjärjestelmien rakentamiseen, Aspose.OMR for C++ antaa kehittäjille mahdollisuuden luoda tehokkaita ja ominaisuuksiltaan rikkaita OMR‑ratkaisuja nopeasti ja luotettavasti.
Aloittaminen Aspose.OMR for C++:ssä
Suositeltu tapa asentaa Aspose.OMR for C++ on NuGetin kautta. Käytä seuraavaa komentoa sujuvaa asennusta varten.
Asenna Aspose.OMR for C++ NuGetin kautta
Install-Package Aspose.OMR.Cpp
Voit ladata kirjaston suoraan Aspose.OMR-tuotesivulta
Luo OMR-malli/lomake C++-API:n avulla
Aspose.OMR for C++ API mahdollistaa mallipohjien luomisen, mikä on olennainen osa OMR-järjestelmiä. C++ OMR API:n avulla ohjelmistokehittäjät voivat suunnitella malleja erilaisiin lomakkeisiin, varmistaen tarkan tiedon poiminnan skannausprosessin aikana. API:ta voidaan käyttää mukauttamaan paperikokoa, suuntausta, fonttia, värejä ja muita asetteluasetuksia, jotka koskevat kaikkia mallisivuja ja enemmänkin. Tämä ominaisuus tehostaa OMR-ominaisuuksien integrointia eri aloille, kuten kyselyihin, kokeisiin ja arviointeihin. Seuraava esimerkki näyttää, miten luodaan lomakekuva, joka voidaan tulostaa ja toimittaa vastaajille C++-sovellusten sisällä.
Kuinka luoda lomakkeen kuva C++-sovelluksissa?
//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);
Tunnista OMR-lomakkeet C++-API:n avulla
Aspose.OMR for C++ on varustettu kehittyneellä OMR-toiminnallisuudella, jonka avulla ohjelmistokehittäjät voivat suunnitella ja käsitellä monimutkaisia lomakkeita helposti. Optisen merkintätunnistuksen (OMR) lomakkeiden tunnistaminen API:n avulla on suoraviivainen prosessi, joka sisältää useita keskeisiä vaiheita. Asennuksen jälkeen käyttäjän täytyy ladata OMR-malli, joka vastaa tunnistettavaa lomaketta. Tämän jälkeen ladata OMR-lomakkeen skannattu kuva ja käsitellä se ladatun mallin avulla, hakea tunnistettu data ja tallentaa se tarvittaessa. Seuraava esimerkki näyttää, miten OMR-lomakkeen tunnistus ja tietojen poiminta tehdään C++-sovelluksissa.
Kuinka tunnistaa ja poimia data OMR-lomakkeesta C++-rajapintaa käyttäen?
#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();
Nopea & tehokas OMR-skannaus
Tehokkuus on avainasemassa, erityisesti kun käsitellään suuria määriä skannattuja asiakirjoja. Aspose.OMR for C++ erottuu nopeassa skannauksessa, mahdollistaen nopean ja tarkan tietojen poiminnan OMR-arkista. Tämä ominaisuus on erityisen arvokas sovelluksissa, joissa aika on kriittinen, kuten aikarajoitteisissa kokeissa tai kyselyissä. API tukee laajaa valikoimaa OMR-elementtejä, mukaan lukien valintaruudut, ruudukot ja tekstialueet. Tämä kattava tuki mahdollistaa kehittäjien käsitellä erilaisia asiakirjatyyppejä, tehden siitä monipuolisen valinnan OMR-toiminnallisuutta vaativiin sovelluksiin.
Monisivuisen asiakirjan käsittely
Aspose.OMR for C++ erottuu monisivujen asiakirjojen käsittelyssä, mikä mahdollistaa kehittäjien käsitellä laajoja tietoaineistoja saumattomasti. Tämä kyky on erityisen arvokas sovelluksissa, jotka käsittelevät kyselyitä tai kokeita, joissa on lukuisia osallistujia. Monisivujen asiakirjojen käsittely OMR C++ -rajapintaa käyttäen sisältää sarjan vaiheita, joilla ladataan, käsitellään ja puretaan data jokaiselta sivulta. Esimerkiksi OMR-mallin lataaminen, jokaisen monisivuisen asiakirjan sivun käsittely ja datan tallentaminen.
Kuinka ladata ja käsitellä monisivuisen asiakirjan jokainen sivu C++-rajapinnan avulla?
#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();