الرئيسية › إنشاء اختبار من أي ملف

إنشاء اختبار من أي ملف: PDF أو Word أو Excel أو نص إلى نماذج جوجل

تحديث 14 نوفمبر 2026 · قراءة 9 دقائق · ExamParser

هذا هو الدليل الجامع: أي ملف يحمل أسئلتك — PDF أو Word أو Excel أو CSV أو نص عادي — يمكن أن يصبح Google Form بالمسار نفسه. لن تضطر لإعادة كتابة الأسئلة، ولن تتدخل أداة ذكاء اصطناعي لتغيّر صياغتها. ما يلي يشرح المسار، ويقدّم سكربت تطبيع جاهزاً يحل مشاكل العربية دفعة واحدة.

مبدأ ثابت: تحويل حتمي بلا ذكاء اصطناعي. الأسئلة تُنقل كما كُتبت في ملفك؛ لا صياغة جديدة، ولا تخمين للإجابة الصحيحة، ولا حذف للتشكيل.

الفكرة: ملف واحد، مسار واحد، نموذج واحد

سواء كان مصدر أسئلتك PDF أو Word أو Excel أو CSV أو حتى ملف .txt أو نصاً منسوخاً من محادثة، فالهدف واحد: اختبار في Google Forms بأسئلتك أنت، دون إعادة كتابة ودون تدخّل ذكاء اصطناعي يغيّر الصياغة.

الملاحظة التي تبسّط كل شيء: المشكلة ليست في صيغة الملف، بل في أن Google Forms يتوقّع أنواع أسئلة وخيارات ومفتاح إجابة، بينما أي ملف يعطيك نصاً أو جدولاً. بمجرد أن تصل جميع الصيغ إلى شكل وسيط واحد، يصبح اختلاف المصدر تفصيلاً تقنياً صغيراً.

المسار الموحّد: أي ملف → نص مُطبَّع → جدول أعمدة ثابتة → Google Form. مرحلة التطبيع هي المكان الصحيح لحل مشاكل النص العربي كلها مرة واحدة.

لماذا تحتاج مرحلة وسيطة بدل التحويل المباشر

«تحويل مباشر» من مستند إلى نموذج يبدو أسرع، لكنه يخفي أخطاءك إلى ما بعد النشر: سؤالان مدمجان، خيار ناقص، إجابة صحيحة في غير موضعها. المرحلة الوسيطة (جدول الأعمدة الثابتة) تجعل كل قرار قابلاً للفحص قبل أن يراه الطالب.

فائدتان عمليتان: تستطيع فتح الجدول في Google Sheets وتصحيح خلية واحدة بدل إعادة رفع الملف كله؛ وتستطيع استخدام الجدول نفسه لأكثر من وجهة لاحقاً (Google Forms أو QTI أو Excel) دون أن تعيد الاستخراج.

مصفوفة صيغ المصدر

الصيغةما يُقرأ منهتحضير مطلوبملاحظة للعربية
PDF نصيطبقة النصلا شيءانتبه للخطوط غير المضمّنة
PDF ممسوح / صورةلا شيء حتى يُطبَّق OCROCR عربيراجع الأرقام والتشكيل يدوياً
.docxفقرات + جداولترقيم ثابتأفضل صيغة للمستندات RTL
.xlsx / .csvصفوف وأعمدةتوحيد أسماء الأعمدةاحفظ بـ utf-8-sig
.txtنص خامفواصل أسطر وترقيمتحقّق من UTF-8 مقابل Windows-1256
نص منسوخ / Google Docsنصإزالة التنسيق الزائدمحارف الاتجاه المخفية شائعة
صورة سؤال واحدةلا شيءOCR ثم مراجعةأضعف صيغة من حيث الدقة

القاعدة: ابدأ دائماً من أغنى صيغة متاحة. إن كان لديك .docx فلا تصدّره PDF؛ وإن كان لديك PDF نصي فلا تطبعه ثم تمسحه ضوئياً. كل تحويل إضافي يفقدك بنية لا يمكن استعادتها آلياً.

العمود الثابت الموحّد

مهما اختلف المصدر، الجدول النهائي بالأعمدة نفسها:

العمودالقاعدة
questionسؤال واحد لكل صف؛ لا تدمج سؤالين
option_1 … option_6خيار واحد لكل عمود، والفائض فارغ
answerرقم الخيار الصحيح، لا نصه
typemcq / truefalse / short
pointsرقم فقط
image_urlرابط عام واحد اختياري

هذا الجدول هو «عقد» بين مرحلة الاستخراج ومرحلة الاستيراد. غيّر المصدر كما تشاء، وابقَ على العقد كما هو، ولن تحتاج إلى إعادة تعلم العملية.

الخطوات الست

1

اختر أفضل صيغة متاحة

ابدأ من .docx أو PDF نصي، لا من صورة.

2

استخرج النص

بالسكربت المناسب، أو بـ OCR إن كان المصدر صورة.

3

طبّع النص

وحّد الترميز والترقيم وأسطر الخيارات؛ السكربت أدناه يفعل ذلك.

4

ابنِ الجدول

صف لكل سؤال، وأعمدة ثابتة، ومفتاح إجابة صريح.

5

استورد

ارفع الملف الأصلي أو الجدول إلى ExamParser لإنشاء Google Form.

6

راجع على جهاز حقيقي

افتح النموذج على هاتف، وجرّب إجابة صحيحة وأخرى خاطئة.

سكربت تطبيع يعمل قبل الاستيراد

هذا السكربت يحلّ المشاكل العربية المتكررة دفعة واحدة: يقرأ الملف بأكثر من ترميز، يوحّد CRLF، يحوّل الأرقام الهندية إلى لاتينية، يزيل محارف الاتجاه المخفية، ويوحّد أنماط بداية السؤال والخيار. ثم يكتب CSV بالأعمدة الثابتة.

# -*- coding: utf-8 -*-
import re, csv, unicodedata, sys

AR2LAT = str.maketrans("٠١٢٣٤٥٦٧٨٩", "0123456789")
BIDI = re.compile(r"[\u200e\u200f\u202a-\u202e\u2066-\u2069]")
NUM = re.compile(r"^\s*(\d+)[\).:\-]\s+(.+)$")
OPT = re.compile(r"^\s*(?:[أبجده]|[A-E])[\).:\-]\s+(.+)$", re.I)

def read_any(path):
    raw = open(path, "rb").read()
    for enc in ("utf-8-sig", "utf-8", "cp1256"):
        try:
            return raw.decode(enc)
        except UnicodeDecodeError:
            continue
    return raw.decode("utf-8", errors="replace")

def norm(s):
    s = s.replace("\r\n", "\n").replace("\r", "\n")
    s = BIDI.sub("", s)
    s = unicodedata.normalize("NFKC", s).translate(AR2LAT)
    return s.strip()

def build(path, out_csv):
    rows, cur = [], None
    for raw in read_any(path).split("\n"):
        line = norm(raw)
        if not line:
            continue
        m = NUM.match(line)
        if m:
            if cur:
                rows.append(cur)
            cur = {"q": m.group(2), "opts": []}
            continue
        o = OPT.match(line)
        if o and cur:
            cur["opts"].append(o.group(1))
    if cur:
        rows.append(cur)

    with open(out_csv, "w", encoding="utf-8-sig", newline="") as f:
        w = csv.writer(f)
        w.writerow(["question", "option_1", "option_2", "option_3",
                    "option_4", "answer", "type", "points"])
        for r in rows:
            w.writerow([r["q"], *(r["opts"] + [""] * 4)[:4], "", "mcq", "1"])
    print("OK:", len(rows), "questions ->", out_csv)

if __name__ == "__main__":
    build(sys.argv[1] if len(sys.argv) > 1 else "questions.txt",
          "questions.csv")

لاحظ أن answer يبقى فارغاً: التطبيع لا يخمّن الإجابة الصحيحة. املأه من مفتاح الإجابة الذي تملكه، ثم راجعه في واجهة النموذج. هذا الفصل بين «تنظيم النص» و«تحديد الصواب» هو ما يمنع الأخطاء الصامتة.

أي صيغة تختار؟ جدول قرار

وضعكالصيغة المثلىلماذا
أسئلة عندك في Word.docxبنية كاملة بلا OCR
ملف أرسله لك زميل كـ PDFPDF نصيلا حاجة لإعادة التنسيق
ورقة مصوّرة بالهاتفOCR ثم .txtلا يوجد بديل عن استخراج النص
بنك أسئلة في Excel.xlsx / .csvأقرب شيء للأعمدة الثابتة
أسئلة في محادثة أو بريد.txt بترميز UTF-8أسرع تنظيف
تريد مشاركة النموذج مع طلابGoogle Form نهائيواجهة إجابة وتصحيح جاهزة

النص العربي: الترميز والاتجاه والأرقام

ثلاث نقاط تفسّر معظم الشكاوى:

التشكيل حالة خاصة: احتفظ به في النص المنقول، وجرّده فقط عند المقارنة. حذفه من النص النهائي يغيّر مادة دراسية، وهذا ليس من حق أداة التحويل.

الفروق بين الأجهزة والمتصفحات

تجربة التحميل تختلف فعلياً بين الأجهزة، وهذه فروق موثّقة تستحق الانتباه:

النص العربي نفسه لا يتأثر بالجهاز بعد الرفع: الملف يُقرأ على الخادم بترميز UTF-8، لكن اتجاه العرض في النموذج الناتج يعتمد على إعدادات Google Forms وعلى لغة حسابك. راجع سؤالاً واحداً على الأقل على هاتفك قبل إرسال الرابط للطلاب.

ثمانية أخطاء وحلولها

  1. نص مربّعات أو حروف غريبة: ترميز خاطئ. جرّب cp1256 أو أعد الحفظ UTF-8.
  2. كل الأسئلة في صف واحد: لا ترقيم، أو ترقيم هندي غير مُطبَّع. شغّل التطبيع أولاً.
  3. خيارات ناقصة: أنماط أ) وA) مختلطة؛ وحّد النمط.
  4. ترتيب الكلمات مقلوب: محارف اتجاه مخفية؛ أزلها ولا تقطع الجملة على المسافات.
  5. الصورة لا تُقرأ: تحتاج OCR، ولا يوجد مسار يتجاوز ذلك.
  6. iPad يرسل zip بدل docx: احفظ في Files وارفع من هناك.
  7. التصحيح الآلي معطّل: فعّل Make this a quiz واملأ answer.
  8. بعد النشر ظهر خطأ في سؤال: صحّحه في الجدول ثم أعد الاستيراد؛ لا تحرّر عشرين سؤالاً يدوياً في واجهة النموذج.

ما الذي لا يفعله هذا التحويل

من المهم أن تعرف حدود هذه العملية قبل أن تعتمد عليها في عملك اليومي. التحويل ينقل بنية الأسئلة فقط: نص السؤال، والخيارات، ومفتاح الإجابة عند وجوده. لا ينتقل معه أي من الردود السابقة، ولا رابط النموذج الأصلي، ولا إعدادات المشاركة أو المتعاونين، ولا جدول الاستجابات المرتبط، ولا الثيم، ولا حالة النشر، ولا إعدادات التحقق من الإجابات. واجهة منتج ExamParser باللغة الإنجليزية حالياً، ولا توجد نسخة عربية من صفحة المنتج؛ لكن المحتوى العربي الذي تدخله يبقى عربياً كما كتبته، لأن الأداة تنقل النص ولا تعيد صياغته.

كذلك لا يُصلح هذا المسار محتوى خاطئاً في المصدر: إن كان السؤال نفسه غامضاً أو كانت الإجابة الصحيحة غير موجودة في الملف، فالأداة ستنقل الغموض كما هو. مراجعة المادة الدراسية تبقى مسؤولية المدرّس، وهذا بالضبط سبب رفض التوليد الآلي للأسئلة.

الأسئلة الشائعة

ملاحظة مشتركة: كل الإجابات أدناه تفترض أنك تملك حق استخدام الأسئلة التي تحوّلها.

هل يمكن تحويل أي ملف إلى Google Form مباشرة؟

ليس مباشرة: نماذج جوجل لا تستورد ملفات PDF أو Word أو Excel. لكن جميع هذه الصيغ تصل إلى نتيجة واحدة عبر مسار موحّد: استخراج النص، تطبيعه، ترتيبه في جدول أعمدة ثابتة، ثم الاستيراد.

ما أفضل صيغة أبدأ منها؟

أغنى صيغة متاحة. .docx أولاً لأنه يحتفظ بالفقرات والجداول، ثم PDF نصي، ثم Excel/CSV، وأخيراً النص الخام. الصور والملفات الممسوحة تحتاج OCR قبل كل شيء.

هل تُحفظ الإجابات السابقة أو رابط النموذج القديم؟

لا. التحويل ينقل بنية الأسئلة فقط. لا تنتقل الردود ولا الرابط الأصلي ولا المتعاونون ولا جدول الاستجابات ولا الثيم ولا حالة النشر. إن كنت تنقل بين حسابين فصدّر الردود على حدة.

كيف أتعامل مع الأسئلة العربية المختلطة بالإنجليزية؟

وحّد الترميز إلى UTF-8، واستخدم utf-8-sig عند كتابة CSV، وأزل محارف الاتجاه المخفية في مرحلة التطبيع، وغلف القطع اللاتينية بعزل اتجاه. ثم راجع سؤالاً واحداً على الهاتف قبل النشر.

هل تولّد الأداة أسئلة إن كان الملف ناقصاً؟

لا. لا تضيف أسئلة ولا تخمّن إجابة صحيحة ولا تعيد صياغة نص. ما ليس موجوداً في الملف يبقى غير موجود، لأن الهدف نقل مادة دراسية موثوقة لا إنشاء مادة جديدة.

حوّل ملفك إلى نموذج جوجل الآن

ارفع PDF أو Word أو Excel أو CSV الذي يحتوي أسئلتك، واحصل على Google Form في حسابك. صفحة المنتج بالإنجليزية حالياً؛ محتوى أسئلتك العربي يبقى كما هو.

جرّب ExamParser →