איך לעבוד עם Generation ב-Python

איך לעבוד עם Generation ב-Python

Aspose.OMR FOSS for Python בונה טופס OMR מעץ של תצורות אלמנטים שמושרש ב-TemplateConfig, ואז מרנדר אותו לתמונת עמוד ולתיאור .omr עם OmrEngine.Generate(). מדריך זה מוביל דרך בניית תבנית גיליון תשובות פשוטה והפקתה.

מדריך שלב אחר שלב

שלב 1: התקנת החבילה

git clone https://github.com/aspose-omr-foss/Aspose.OMR-FOSS-for-Python.git
cd Aspose.OMR-FOSS-for-Python
pip install -e .
python -c "import omr; print('Aspose.OMR FOSS for Python is ready.')"

שלב 2: ייבוא המחלקות הנדרשות

from omr.api import OmrEngine
from omr.generation.config import TemplateConfig
from omr.generation.config.elements.parents import PageConfig
from omr.generation.config.elements import AnswerSheetConfig

שלב 3: בניית עץ התבנית

צור שורש TemplateConfig, PageConfig לעמוד היחיד, ו-AnswerSheetConfig למטריצה של 20 שאלות ממוספרות (4 בועות אפשרות לכל שאלה).

tpl = TemplateConfig()
tpl.Name = "quiz"
page = PageConfig()
sheet = AnswerSheetConfig()
sheet.Name = "answers"
sheet.AnswersCount = 4    # bubbles per question (e.g. A-D)
sheet.ElementsCount = 20  # number of questions
page.Children = [sheet]
tpl.Children = [page]

שלב 4: יצירה ושמירה

engine = OmrEngine()
gen = engine.Generate(tpl)
gen.Save("out", "quiz")   # -> out/quiz.png + out/quiz.omr

בעיות נפוצות ותיקונים

הדף שנוצר שלי נראה ריק. בדוק שכל אלמנט אכן מתווסף ל-parent של Children רשימה — אלמנט שנבנה אך מעולם לא מצורף לרשימת של דף (או של מכולה) Children אינו מוצג.

אני צריך PDF במקום PNG. לא זמין בגרסה זו — GenerationResult.SaveAsPdf() raises NotImplementedError. השתמש בפלט PNG מ- Save() והמרה חיצונית אם נדרש PDF.

קבעתי Overflow ולא השתנה דבר. מנוע הרינדור של גרסה זו עדיין אינו מתייחס Overflow/LongWordHandling — המונים (enums) מפורשים ומאומתים כראוי, אך התנהגות overflow עדיין אינה ניתנת להגדרה. זה מתועד במפת הדרכים של המקור הראשי.

שאלות נפוצות

האם אני יכול לבנות את אותה תבנית ללא אובייקטים של Python?

כן — DSL הסימון בונה את אותו עץ אלמנטים מטקסט פשוט, המועבר ישירות ל-OmrEngine.Generate().

איך אני מייצר תבנית מרובת עמודים?

הוסף יותר מאחד PageConfig ל-TemplateConfig.Children; GenerationResult.MultipageTemplateImages מחזיר תמונה אחת לכל עמוד.

האם המנוע שומר מצב בין קריאות ל-Generate()?

לא — OmrEngine הוא ללא מצב; כל קריאה היא עצמאית.

ראה גם

 עברית