Skip to content

Latest commit

 

History

History
83 lines (61 loc) · 3.38 KB

File metadata and controls

83 lines (61 loc) · 3.38 KB

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) בתוך המסמך