Skip to content

Tamar055678/TaskHogery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskHogery - מערכת יצירת מסמכי PDF מתבנית Word אחת

תיאור המערכת

מערכת זו מקבלת קובץ CSV עם רשימת משתמשים וציוניהם, מחשבת ציון סופי לכל משתמש, ומייצרת מסמכים מותאמים אישית (PDF) על בסיס תבנית Word אחת בלבד.
התבנית מיועדת לעריכה על ידי משתמשים שאינם מתכנתים, כך שניתן לשנות עיצוב, טקסט קבוע וכותרות בלי לגעת בקוד.


קלט

  • קובץ CSV (Data.csv) עם העמודות הבאות:

    1. FirstName
    2. LastName
    3. Department
    4. Theoretical
    5. Practical
  • תבנית Word אחת (Template.docx) עם placeholders:

    • <FirstName> - שם פרטי
    • <LastName> - שם משפחה
    • <FinalGrade> - הציון הסופי
    • <ConditionalMessage> - הודעה מותאמת לציון (למשל "Congratulations" או "You passed")

עיבוד הנתונים

  1. קריאת CSV:

    • הקוד קורא את כל השורות ומסנן שורות ריקות.
    • מבצע בדיקה שכל השדות הנדרשים קיימים.
  2. חישוב הציון הסופי:

    • הציון הסופי מחושב לפי משקל:
      FinalGrade = Theoretical * 0.4 + Practical * 0.6
      
  3. סינון ציונים:

    • ציונים מתחת ל-70 → המשתמש נדחה ולא נוצר לו מסמך.
    • ציונים 70 ומעלה → המשתמש ממשיך לעיבוד במסמך PDF.

יצירת מסמכי Word ו-PDF

  1. הקוד טוען את תבנית Word אחת לכל המשתמשים.
  2. ממלא את ה-placeholders עם הערכים מה-CSV.
  3. ממיר כל מסמך ל-PDF ושומר בתיקיית PDFs בשם:FirstName_LastName.pdf
  4. השדה <ConditionalMessage> מתמלא לפי הציון:
  • 70–90 → הודעה מותאמת (למשל "You passed")
  • מעל 90 → הודעה מותאמת אחרת (למשל "Congratulations!")

מנגנוני הגנה ובדיקות

  • בדיקה שכל השדות בקלט קיימים ולא ריקים.
  • בדיקה שהציונים ניתנים להמרה למספרים חוקיים.
  • טיפול בשגיאות בעת יצירת PDF מבלי לעצור את כל התהליך.
  • שמירת לוג או רשימה של שורות שלא עובדו עקב נתונים לא חוקיים.
  • בדיקה שה-template קיימת לפני השימוש.
  • שמירה זמנית של הקובץ לפני ההמרה ל-PDF כדי למנוע מחיקה של קבצים שלא נוצרו בהצלחה.
  • מניעת כפילות שמות קבצים על ידי שימוש בשם FirstName_LastName.

תלות

  • NuGet package: DocX (לקריאת תבניות Word והחלפת placeholders)
  • Microsoft Office (ליצירת PDF דרך Word Interop)
  • תיקיית תבניות: Templates
  • תיקיית פלט: PDFs

הוראות הפעלה

  1. שמור את קובץ ה-CSV בתיקייה של הפרויקט.
  2. הכנס את התבנית Word בתיקיית Templates.
  3. הרץ את הקוד – המערכת תיצור:
  • Output_Data.csv – כל המשתמשים עם הציון הסופי
  • PDF לכל משתמש בתיקיית PDFs עם תוכן מותאם אישית
  • הודעה מותאמת לפי הציון (70–90 / מעל 90) בתוך המסמך

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages