1. מוצרים
  2.   OMR
  3.   PHP
  4.   FormRead
 
  

API OMR חינמי ב-PHP לפענוח טפסים ותמונות סרוקים באינטרנט

ספריית PHP קוד פתוח לזיהוי סימונים אופטי (OMR) המיועדת לפענוח טפסים סרוקים וזיהוי תשובות מסומנות מאזורים מוגדרים מראש בתוך יישום PHP.

מהו FormRead?

בעולם הדיגיטלי של היום, אוטומציה של חילוץ נתונים מטפסים היא קריטית עבור עסקים, מוסדות חינוך וארגוני מחקר. בתחום איסוף הנתונים, זיהוי סימונים אופטי (OMR) נשאר שיטה מהימנה לסריקה ופירוש נתונים מסומנים בטפסים, סקרים, מבחנים והצבעות. FormRead, API OMR (זיהוי סימונים אופטי) בקוד פתוח עבור PHP, מספק פתרון חזק לקריאת ועיבוד טפסים מסומנים ביעילות. זהו API OMR מבוסס PHP שנועד לאתר ולפרש אזורים מסומנים בטפסים, סקרים או דפי תשובות סרוקים. הוא שימושי במיוחד לאוטומציה של איסוף נתונים מטפסים מודפסים, להפחתת שגיאות הקלדה ידניות ולשיפור היעילות.

FormRead היא ספרייה קוד פתוח לזיהוי סימונים אופטי (Optical Mark Recognition) שנכתבה ב-PHP. היא תומכת במגוון סוגי שדות הנפוצים בטפסי OMR, כגון תיבות סימון, טקסט, בחירה וקבוצה. הספרייה נועדה במיוחד לניתוח טפסים סרוקים ולזיהוי תשובות מסומנות מאזורים מוגדרים מראש — אידיאלית לשימושים כמו מבחני בחירה מרובה, טפסי משוב, קולות הצבעה, או כל איסוף נתונים מבוסס טפסים. הספרייה מאפשרת למפתחים להגדיר אזורים (או “רשתות”) על תמונת הטופס ולאחר מכן לזהות אילו מהאזורים סומנו (מולאו) על ידי המשתמשים. קיימות מספר תכונות חשובות בספרייה, כגון הגדרת טופס גמישה, טעינה ועיבוד של התמונה, טיפול ברגישות סף, תמיכה במגוון פורמטים של תמונות, תבניות ניתנות להתאמה, תמיכה בקודי ברקוד ו‑QR, ועוד רבות. FormRead היא API PHP OMR רב‑גוני שמפשטת עיבוד טפסים אוטומטי. בין אם אתם מתכננים מבחנים, מעבדים סקרים, או ממירים רשומות לדיגיטל, היא מציעה פתרון גמיש ויעיל.

Previous Next

התחלה עם FormRead

הדרך המומלצת להתקנת ספריית PHP FormRead היא באמצעות Composer. אנא השתמשו בפקודה הבאה להתקנה חלקה.

התקן את OFormReadMR באמצעות Composer

 composer require mojv/formread
 

התקן FormRead דרך GitHub

git clone https://github.com/mojv/FormRead.git
cd FormRead 

עיבוד הטופס הסרוק עם PHP

ספריית FormRead בקוד פתוח מקלה על מפתחי תוכנה לטעון ולעבד טפסים וסריקות בתוכנות PHP. ראשית, יהיה ברשותכם תמונת סריקה של הטופס המלא, נקרא לה filled_form.jpg. הסקריפט PHP הבא משתמש ב-FormRead לעיבוד תמונה זו על‑ידי קריאה למתודה processImage() עם הנתיב לתמונה הסרוקה. התוצאות מוצפנות לאחר מכן כ‑JSON מעוצב יפה ומודפס.

איך לעבד טופס סרוק בתוך אפליקציות PHP?

require 'vendor/autoload.php';

use FormRead\FormRead;

// Path to the form definition and the scanned image
$formJsonPath = 'path/to/your/form.json';
$imagePath = 'path/to/your/filled_form.jpg';

try {
    // Create a new FormRead instance
    $formRead = new FormRead($formJsonPath);

    // Process the image
    $results = $formRead->processImage($imagePath);

    // Output the results as JSON
    header('Content-Type: application/json');
    echo json_encode($results, JSON_PRETTY_PRINT);

} catch (Exception $e) {
    // Handle any errors
    echo 'Error: ' . $e->getMessage();
}

מיפוי קואורדינטות שדה מותאם

ספריית FormRead סיפקה תמיכה מלאה במיפוי קואורדינטות של שדות טופס מותאמים בתוך יישומי PHP. מפתחי תוכנה יכולים להגדיר את המיקום המדויק של כל תיבת סימון או בועה באמצעות קואורדינטות פיקסלים (x, y), רוחב וגובה. זה חיוני מכיוון שכל פריסת טופס שונה. הדוגמה הבאה מציגה כיצד להגדיר טופס מותאם עם המיקומים המדויקים באמצעות API של PHP.

איך להגדיר שדות טופס מותאמים אישית עם המיקומים המדויקים דרך API של PHP?

$fields = [
    ['x' => 100, 'y' => 200, 'width' => 20, 'height' => 20],  // Question 1 - Option A
    ['x' => 130, 'y' => 200, 'width' => 20, 'height' => 20],  // Question 1 - Option B
    ['x' => 160, 'y' => 200, 'width' => 20, 'height' => 20],  // Question 1 - Option C
    // Add more fields as needed...
];

עיבוד טפסים בכמות גדולה באמצעות API של PHP?

בזכות העיצוב הפשוט שלו והשימוש בטכניקות יעילות לעיבוד תמונות, ספריית הקוד הפתוח FormRead יכולה לעבד טפסים במרוכז בקלות. בזכות עיבוד הטפסים החזק הזה, היא מתאימה למערכות דירוג מבחנים או ייבוא סקרים בכמות גדולה. הדוגמה הבאה מדגימה כיצד מפתחי תוכנה יכולים לבצע עיבוד טפסים במרוכז באמצעות פקודות PHP.

איך לבצע עיבוד טפסים במצב אצווה באמצעות ספריית PHP?

$scans = ['form1.jpg', 'form2.jpg', 'form3.jpg'];

foreach ($scans as $form) {
    $results = FormRead::read($form, $fields);
    // Save to DB or evaluate result
    echo "Form $form: " . implode(',', $results) . "\n";
}
 עִברִית