إنشاء اختبار من أي ملف: PDF أو Word أو Excel أو نص إلى نماذج جوجل
هذا هو الدليل الجامع: أي ملف يحمل أسئلتك — PDF أو Word أو Excel أو CSV أو نص عادي — يمكن أن يصبح Google Form بالمسار نفسه. لن تضطر لإعادة كتابة الأسئلة، ولن تتدخل أداة ذكاء اصطناعي لتغيّر صياغتها. ما يلي يشرح المسار، ويقدّم سكربت تطبيع جاهزاً يحل مشاكل العربية دفعة واحدة.
الفكرة: ملف واحد، مسار واحد، نموذج واحد
سواء كان مصدر أسئلتك PDF أو Word أو Excel أو CSV أو حتى ملف .txt أو نصاً منسوخاً من محادثة، فالهدف واحد: اختبار في Google Forms بأسئلتك أنت، دون إعادة كتابة ودون تدخّل ذكاء اصطناعي يغيّر الصياغة.
الملاحظة التي تبسّط كل شيء: المشكلة ليست في صيغة الملف، بل في أن Google Forms يتوقّع أنواع أسئلة وخيارات ومفتاح إجابة، بينما أي ملف يعطيك نصاً أو جدولاً. بمجرد أن تصل جميع الصيغ إلى شكل وسيط واحد، يصبح اختلاف المصدر تفصيلاً تقنياً صغيراً.
لماذا تحتاج مرحلة وسيطة بدل التحويل المباشر
«تحويل مباشر» من مستند إلى نموذج يبدو أسرع، لكنه يخفي أخطاءك إلى ما بعد النشر: سؤالان مدمجان، خيار ناقص، إجابة صحيحة في غير موضعها. المرحلة الوسيطة (جدول الأعمدة الثابتة) تجعل كل قرار قابلاً للفحص قبل أن يراه الطالب.
فائدتان عمليتان: تستطيع فتح الجدول في Google Sheets وتصحيح خلية واحدة بدل إعادة رفع الملف كله؛ وتستطيع استخدام الجدول نفسه لأكثر من وجهة لاحقاً (Google Forms أو QTI أو Excel) دون أن تعيد الاستخراج.
مصفوفة صيغ المصدر
| الصيغة | ما يُقرأ منه | تحضير مطلوب | ملاحظة للعربية |
|---|---|---|---|
| PDF نصي | طبقة النص | لا شيء | انتبه للخطوط غير المضمّنة |
| PDF ممسوح / صورة | لا شيء حتى يُطبَّق OCR | OCR عربي | راجع الأرقام والتشكيل يدوياً |
| .docx | فقرات + جداول | ترقيم ثابت | أفضل صيغة للمستندات RTL |
| .xlsx / .csv | صفوف وأعمدة | توحيد أسماء الأعمدة | احفظ بـ utf-8-sig |
| .txt | نص خام | فواصل أسطر وترقيم | تحقّق من UTF-8 مقابل Windows-1256 |
| نص منسوخ / Google Docs | نص | إزالة التنسيق الزائد | محارف الاتجاه المخفية شائعة |
| صورة سؤال واحدة | لا شيء | OCR ثم مراجعة | أضعف صيغة من حيث الدقة |
القاعدة: ابدأ دائماً من أغنى صيغة متاحة. إن كان لديك .docx فلا تصدّره PDF؛ وإن كان لديك PDF نصي فلا تطبعه ثم تمسحه ضوئياً. كل تحويل إضافي يفقدك بنية لا يمكن استعادتها آلياً.
العمود الثابت الموحّد
مهما اختلف المصدر، الجدول النهائي بالأعمدة نفسها:
| العمود | القاعدة |
|---|---|
| question | سؤال واحد لكل صف؛ لا تدمج سؤالين |
| option_1 … option_6 | خيار واحد لكل عمود، والفائض فارغ |
| answer | رقم الخيار الصحيح، لا نصه |
| type | mcq / truefalse / short |
| points | رقم فقط |
| image_url | رابط عام واحد اختياري |
هذا الجدول هو «عقد» بين مرحلة الاستخراج ومرحلة الاستيراد. غيّر المصدر كما تشاء، وابقَ على العقد كما هو، ولن تحتاج إلى إعادة تعلم العملية.
الخطوات الست
اختر أفضل صيغة متاحة
ابدأ من .docx أو PDF نصي، لا من صورة.
استخرج النص
بالسكربت المناسب، أو بـ OCR إن كان المصدر صورة.
طبّع النص
وحّد الترميز والترقيم وأسطر الخيارات؛ السكربت أدناه يفعل ذلك.
ابنِ الجدول
صف لكل سؤال، وأعمدة ثابتة، ومفتاح إجابة صريح.
استورد
ارفع الملف الأصلي أو الجدول إلى ExamParser لإنشاء Google Form.
راجع على جهاز حقيقي
افتح النموذج على هاتف، وجرّب إجابة صحيحة وأخرى خاطئة.
سكربت تطبيع يعمل قبل الاستيراد
هذا السكربت يحلّ المشاكل العربية المتكررة دفعة واحدة: يقرأ الملف بأكثر من ترميز، يوحّد 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 |
| ملف أرسله لك زميل كـ PDF | PDF نصي | لا حاجة لإعادة التنسيق |
| ورقة مصوّرة بالهاتف | OCR ثم .txt | لا يوجد بديل عن استخراج النص |
| بنك أسئلة في Excel | .xlsx / .csv | أقرب شيء للأعمدة الثابتة |
| أسئلة في محادثة أو بريد | .txt بترميز UTF-8 | أسرع تنظيف |
| تريد مشاركة النموذج مع طلاب | Google Form نهائي | واجهة إجابة وتصحيح جاهزة |
النص العربي: الترميز والاتجاه والأرقام
ثلاث نقاط تفسّر معظم الشكاوى:
- الترميز: ملفات قديمة قد تكون Windows-1256. السكربت يجرب ثلاثة ترميزات؛ وutf-8-sig عند الكتابة يمنع ظهور المربعات في Excel.
- الاتجاه: محارف LRM/RLM لا تُرى لكنها تغيّر ترتيب الكلمات. أزلها في التطبيع، وغلف القطع اللاتينية بعزل اتجاه عند العرض.
- الأرقام: خلط ١ مع 1 يكسر التعرّف على بداية السؤال. التوحيد إلى لاتينية في التطبيع يجعل المطابقة حتمية.
التشكيل حالة خاصة: احتفظ به في النص المنقول، وجرّده فقط عند المقارنة. حذفه من النص النهائي يغيّر مادة دراسية، وهذا ليس من حق أداة التحويل.
الفروق بين الأجهزة والمتصفحات
تجربة التحميل تختلف فعلياً بين الأجهزة، وهذه فروق موثّقة تستحق الانتباه:
- Chrome على الحاسوب: الأكثر استقراراً. زر اختيار الملف يفتح مربع حوار النظام، ويمكنك سحب الملف وإفلاته، ووحدة التحكم في المتصفح (F12) تظهر لك طلب الرفع إن فشل.
- Safari على iPad: اختيار الملف من Files قد يحوّل .docx إلى حزمة zip إذا جاء من تطبيق مكتب خارجي. احفظ الملف أولاً في Files ثم ارفعه، ولا تفتحه عبر «مشاركة» مباشرة. كذلك يمنع Safari أحياناً النوافذ المنبثقة، فاسمح بها للصفحة.
- Android / Chrome Mobile: مدير الملفات قد يغيّر اسم الملف ويحذف الامتداد عند المشاركة. تأكد أن الاسم ينتهي بـ .pdf أو .docx قبل الرفع، واترك الشاشة مفتوحة حتى تنتهي المعالجة؛ إغلاق التبويب يقطعها.
النص العربي نفسه لا يتأثر بالجهاز بعد الرفع: الملف يُقرأ على الخادم بترميز UTF-8، لكن اتجاه العرض في النموذج الناتج يعتمد على إعدادات Google Forms وعلى لغة حسابك. راجع سؤالاً واحداً على الأقل على هاتفك قبل إرسال الرابط للطلاب.
ثمانية أخطاء وحلولها
- نص مربّعات أو حروف غريبة: ترميز خاطئ. جرّب cp1256 أو أعد الحفظ UTF-8.
- كل الأسئلة في صف واحد: لا ترقيم، أو ترقيم هندي غير مُطبَّع. شغّل التطبيع أولاً.
- خيارات ناقصة: أنماط أ) وA) مختلطة؛ وحّد النمط.
- ترتيب الكلمات مقلوب: محارف اتجاه مخفية؛ أزلها ولا تقطع الجملة على المسافات.
- الصورة لا تُقرأ: تحتاج OCR، ولا يوجد مسار يتجاوز ذلك.
- iPad يرسل zip بدل docx: احفظ في Files وارفع من هناك.
- التصحيح الآلي معطّل: فعّل Make this a quiz واملأ answer.
- بعد النشر ظهر خطأ في سؤال: صحّحه في الجدول ثم أعد الاستيراد؛ لا تحرّر عشرين سؤالاً يدوياً في واجهة النموذج.
ما الذي لا يفعله هذا التحويل
من المهم أن تعرف حدود هذه العملية قبل أن تعتمد عليها في عملك اليومي. التحويل ينقل بنية الأسئلة فقط: نص السؤال، والخيارات، ومفتاح الإجابة عند وجوده. لا ينتقل معه أي من الردود السابقة، ولا رابط النموذج الأصلي، ولا إعدادات المشاركة أو المتعاونين، ولا جدول الاستجابات المرتبط، ولا الثيم، ولا حالة النشر، ولا إعدادات التحقق من الإجابات. واجهة منتج ExamParser باللغة الإنجليزية حالياً، ولا توجد نسخة عربية من صفحة المنتج؛ لكن المحتوى العربي الذي تدخله يبقى عربياً كما كتبته، لأن الأداة تنقل النص ولا تعيد صياغته.
كذلك لا يُصلح هذا المسار محتوى خاطئاً في المصدر: إن كان السؤال نفسه غامضاً أو كانت الإجابة الصحيحة غير موجودة في الملف، فالأداة ستنقل الغموض كما هو. مراجعة المادة الدراسية تبقى مسؤولية المدرّس، وهذا بالضبط سبب رفض التوليد الآلي للأسئلة.
الأسئلة الشائعة
ملاحظة مشتركة: كل الإجابات أدناه تفترض أنك تملك حق استخدام الأسئلة التي تحوّلها.
هل يمكن تحويل أي ملف إلى Google Form مباشرة؟
ليس مباشرة: نماذج جوجل لا تستورد ملفات PDF أو Word أو Excel. لكن جميع هذه الصيغ تصل إلى نتيجة واحدة عبر مسار موحّد: استخراج النص، تطبيعه، ترتيبه في جدول أعمدة ثابتة، ثم الاستيراد.
ما أفضل صيغة أبدأ منها؟
أغنى صيغة متاحة. .docx أولاً لأنه يحتفظ بالفقرات والجداول، ثم PDF نصي، ثم Excel/CSV، وأخيراً النص الخام. الصور والملفات الممسوحة تحتاج OCR قبل كل شيء.
هل تُحفظ الإجابات السابقة أو رابط النموذج القديم؟
لا. التحويل ينقل بنية الأسئلة فقط. لا تنتقل الردود ولا الرابط الأصلي ولا المتعاونون ولا جدول الاستجابات ولا الثيم ولا حالة النشر. إن كنت تنقل بين حسابين فصدّر الردود على حدة.
كيف أتعامل مع الأسئلة العربية المختلطة بالإنجليزية؟
وحّد الترميز إلى UTF-8، واستخدم utf-8-sig عند كتابة CSV، وأزل محارف الاتجاه المخفية في مرحلة التطبيع، وغلف القطع اللاتينية بعزل اتجاه. ثم راجع سؤالاً واحداً على الهاتف قبل النشر.
هل تولّد الأداة أسئلة إن كان الملف ناقصاً؟
لا. لا تضيف أسئلة ولا تخمّن إجابة صحيحة ولا تعيد صياغة نص. ما ليس موجوداً في الملف يبقى غير موجود، لأن الهدف نقل مادة دراسية موثوقة لا إنشاء مادة جديدة.
حوّل ملفك إلى نموذج جوجل الآن
ارفع PDF أو Word أو Excel أو CSV الذي يحتوي أسئلتك، واحصل على Google Form في حسابك. صفحة المنتج بالإنجليزية حالياً؛ محتوى أسئلتك العربي يبقى كما هو.
جرّب ExamParser →