تحويل ملف Word إلى جوجل فورم: من مستند DOCX إلى اختبار مصحّح آلياً
إذا كانت أسئلتك مكتوبة في Word (.docx) فأنت في أفضل وضع ممكن: الملف يحتفظ بالفقرات والجداول، ولا يحتاج OCR، ويمكن قراءته برمجياً بدقة. هذا الدليل يحوّل ذلك المستند إلى Google Form مع مفتاح تصحيح، ويشرح ما يخصّ المستندات العربية من اتجاه وترقيم وتشكيل.
ما الذي نعنيه بتحويل Word إلى جوجل فورم
لديك مستند .docx فيه عشرون أو مئة سؤال مكتوبة بعناية. المطلوب أن تصبح هذه الأسئلة نموذج Google Forms قابلاً للإرسال للطلاب، مع تصحيح آلي للاختيار من متعدد. التحويل هنا لا يإنشاء أسئلة: يقرأ ما في المستند، يرتبه، ثم يستورده.
لماذا Word تحديداً أسهل من PDF؟ لأن .docx ليس صورةصفحة، بل ملف XML مضغوطاً يحتوي على فقرات وجداول وأنماط واضحة. يمكن قراءته برمجياً دون OCR، وهذا يزيل أكبر مصدر للأخطاء في الملفات العربية.
لماذا لا يوجد زر «استيراد من Word» في نماذج جوجل
Google Forms لا يقرأ .docx ولا .xlsx مباشرة. ما يقبله أصلاً هو نموذج جوجل آخر من Drive، أو إدخال يدوي. الفجوة بين «مستند منظّم» و«نموذج» هي فجوة في البنية لا في اللغة: المستند يعرف الفقرات، والنموذج يحتاج أنواع أسئلة وخيارات ومفتاح إجابة.
لذلك الحل هو جدول الأعمدة الثابتة نفسه المستخدم مع PDF وExcel وCSV: مرة واحدة تستخرج، ومرة واحدة تستورد، مهما اختلف المصدر. هذا التوحيد هو ما يجعل العملية قابلة للمراجعة.
داخل ملف DOCX: فقرات، جداول، واتجاه النص
| عنصر في .docx | كيف يُقرأ | الأفضل للأسئلة |
|---|---|---|
| فقرات مرقّمة | كل فقرة = سطر | الصيغة الأسهل للاستخراج |
| جدول من عمودين (سؤال/إجابة) | كل صف = زوج | جيد، لكن يحتاج تطبيعاً |
| جدول متعدد الأعمدة للخيارات | كل خلية = خيار | مثالي إن كان الترتيب ثابتاً |
| قوائم Bullet للخيارات | عناصر قائمة | جيد، بشرط نمط واحد موحّد |
| مستند RTL بقطع إنجليزية | اتجاه مختلط في كل فقرة | يحتاج عزل الاتجاه للقطع اللاتينية |
أسوأ حالة هي مستند صُمّم بصرياً: أسئلة داخل مربعات نصية، أو جداول بلا حدود، أو ترقيم مكتوب يدوياً بمسافات. في هذه الحالة انقل المحتوى إلى فقرات بسيطة قبل التشغيل الآلي؛ دقائق من التنظيف توفر ساعات من تصحيح الاستيراد.
خصائص المستندات العربية التي تربك الاستخراج
- الفقرة ثنائية الاتجاه: قد تحتوي جملة عربية على Google Forms أو Q1. ملف .docx يخزّن ذلك كـ bidi run؛ اقرأ نص الفقرة كاملاً ولا تقطعه على المسافات.
- ترقيم هندي ولاتيني مختلط: وحّد الأرقام قبل مطابقة بداية السؤال.
- التشكيل: احتفظ به في النص النهائي، لكن جرّده عند المقارنة والعثور على مفتاح الإجابة.
- الخيارات بحروف عربية (أ، ب، ج) مقابل لاتينية (A، B، C): اختر نمطاً واحداً لكل المستند.
- مفتاح الإجابة في نهاية الملف: شائع جداً في أوراق المعلمين. يُقرأ على حدة ولا يُدمج في نص السؤال.
صيغة الأعمدة الثابتة الموحّدة
| العمود | المحتوى |
|---|---|
| question | نص السؤال |
| option_1 … option_4 | الخيارات الأربعة |
| answer | رقم الخيار الصحيح |
| type | mcq أو truefalse |
| points | الدرجة |
احفظ الملف الناتج CSV بترميز utf-8-sig، ثم ارفعه إلى ExamParser الذي يقبل Word وPDF وExcel مباشرة؛ الجدول هنا هو طريقة للفحص والتدقيق، لا شرط إلزامي.
خطوات التحويل الخمس
نظّم المستند
اجعل كل سؤال فقرة مرقّمة، وخياراته تحتها بنمط واحد.
افصل مفتاح الإجابة
انقل جدول الإجابات إلى قسم منفصل في آخر الملف.
استخرج بالسكربت
شغّل سكربت python-docx أدناه لبناء CSV.
ارفع واستورد
ارفع .docx أو CSV إلى ExamParser ليُنشئ النموذج في حسابك.
فعّل التصحيح وراجع
في Google Forms فعّل وضع الاختبار، ثم جرّب إجابة صحيحة وأخرى خاطئة.
سكربت يعمل: قراءة DOCX وبناء جدول الأسئلة
يقرأ السكربت الفقرات والجداول، يوحّد الأرقام، يتعرّف على بدايات الأسئلة والخيارات، ويكتب CSV صالحاً للفحص. ثبّت الحزمة بـ pip install python-docx.
# -*- coding: utf-8 -*-
import re, csv, unicodedata
from docx import Document
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-D])[\).:\-]\s+(.+)$", re.I)
def norm(s):
s = BIDI.sub("", s or "")
s = unicodedata.normalize("NFKC", s).translate(AR2LAT)
return s.strip()
def lines_of(doc):
for p in doc.paragraphs:
yield norm(p.text)
for tbl in doc.tables:
for row in tbl.rows:
for cell in row.cells:
yield norm(cell.text)
def parse_docx(path, out_csv):
rows, cur = [], None
for line in lines_of(Document(path)):
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:
opts = (r["opts"] + [""] * 4)[:4]
w.writerow([r["q"], *opts, "", "mcq", "1"])
print("wrote", len(rows), "questions ->", out_csv)
if __name__ == "__main__":
parse_docx("exam.docx", "questions.csv")عمود answer فارغ عن قصد أيضاً: مفتاح الإجابة يُقرأ من قسم منفصل ويُملأ يدوياً. لا يوجد تخمين في أي مرحلة. إن كان مفتاحك بصيغة 1: ب يمكنك مطابقته برمجياً بعد تحويل الحرف إلى رقم، لكن افحص النتيجة دائماً قبل النشر.
أين يُكتب مفتاح الإجابة وكيف يُقرأ
| مكان المفتاح في المستند | مدى سهولة القراءة | التوصية |
|---|---|---|
| جدول «الإجابات النموذجية» في آخر الملف | سهل جداً | الأفضل؛ اتركه كقسم مستقل |
| الإجابة الصحيحة بخط عريض داخل الخيارات | متوسط | انقلها إلى عمود answer يدوياً |
| الإجابة ملوّنة فقط | صعب برمجياً | استبدل اللون برقم صريح |
| لا يوجد مفتاح | — | النموذج سيحتاج تصحيحاً يدوياً؛ لا تخمّن |
في Google Forms، مفتاح الإجابة ليس جزءاً من نص السؤال، بل إعداد في وضع الاختبار. لذلك لا يمكن أن «يظهر» تلقائياً بمجرد نقل النص؛ يجب أن يُوضع في العمود المخصص، ثم يُراجع في واجهة النموذج.
الفروق بين الأجهزة وطرق الحفظ
تجربة التحميل تختلف فعلياً بين الأجهزة، وهذه فروق موثّقة تستحق الانتباه:
- Chrome على الحاسوب: الأكثر استقراراً. زر اختيار الملف يفتح مربع حوار النظام، ويمكنك سحب الملف وإفلاته، ووحدة التحكم في المتصفح (F12) تظهر لك طلب الرفع إن فشل.
- Safari على iPad: اختيار الملف من Files قد يحوّل .docx إلى حزمة zip إذا جاء من تطبيق مكتب خارجي. احفظ الملف أولاً في Files ثم ارفعه، ولا تفتحه عبر «مشاركة» مباشرة. كذلك يمنع Safari أحياناً النوافذ المنبثقة، فاسمح بها للصفحة.
- Android / Chrome Mobile: مدير الملفات قد يغيّر اسم الملف ويحذف الامتداد عند المشاركة. تأكد أن الاسم ينتهي بـ .pdf أو .docx قبل الرفع، واترك الشاشة مفتوحة حتى تنتهي المعالجة؛ إغلاق التبويب يقطعها.
النص العربي نفسه لا يتأثر بالجهاز بعد الرفع: الملف يُقرأ على الخادم بترميز UTF-8، لكن اتجاه العرض في النموذج الناتج يعتمد على إعدادات Google Forms وعلى لغة حسابك. راجع سؤالاً واحداً على الأقل على هاتفك قبل إرسال الرابط للطلاب.
ثمانية أخطاء شائعة وحلولها
- يُقرأ السؤال والخيارات كسطر واحد: المستند يستخدم فواصل أسطر Shift+Enter داخل فقرة واحدة. استخدم فقرات حقيقية.
- ترتيب الخيارات يتبدل: جداول متعددة الأعمدة باتجاه مختلط؛ وحّد اتجاه الجدول إلى RTL ثم أعد الاستخراج.
- لا تُقرأ الجداول إطلاقاً: الأسئلة داخل مربعات نص Text Box لا تظهر في doc.paragraphs؛ انقلها إلى فقرات عادية.
- أرقام الأسئلة لا تُطابق: أرقام هندية أو ترقيم تلقائي من Word لا يُخزّن كنص. اكتب الترقيم يدوياً أو استخدم السكربت مع تطبيع الأرقام.
- .docx يصل كملف zip على iPad: احفظه في Files ثم ارفعه من هناك، لا عبر قائمة المشاركة.
- العربية مربّعات في Excel: استخدم utf-8-sig كما في السكربت.
- التصحيح الآلي لا يعمل: Make this a quiz غير مفعّل أو answer فارغ.
- فقدت التشكيل أو صيغة الجمع: لا تستخدم التطبيع على النص النهائي؛ استخدمه للمطابقة فقط واحتفظ بالنص الأصلي.
ما الذي لا ينتقل مع التحويل
من المهم أن تعرف حدود هذه العملية قبل أن تعتمد عليها في عملك اليومي. التحويل ينقل بنية الأسئلة فقط: نص السؤال، والخيارات، ومفتاح الإجابة عند وجوده. لا ينتقل معه أي من الردود السابقة، ولا رابط النموذج الأصلي، ولا إعدادات المشاركة أو المتعاونين، ولا جدول الاستجابات المرتبط، ولا الثيم، ولا حالة النشر، ولا إعدادات التحقق من الإجابات. واجهة منتج ExamParser باللغة الإنجليزية حالياً، ولا توجد نسخة عربية من صفحة المنتج؛ لكن المحتوى العربي الذي تدخله يبقى عربياً كما كتبته، لأن الأداة تنقل النص ولا تعيد صياغته.
الأسئلة الشائعة
ملاحظة مشتركة: كل الإجابات أدناه تفترض أنك تملك حق استخدام الأسئلة التي تحوّلها.
هل يقبل Google Forms ملف Word مباشرة؟
لا. نماذج جوجل لا تستورد .docx؛ الاستيراد الأصلي يقتصر على نموذج جوجل آخر من Drive. تحتاج أداة وسيطة تقرأ المستند وتحوّل محتواه إلى أسئلة.
هل يعمل التحويل مع مستندات Word المنسّقة باتجاه RTL؟
نعم، لأن .docx يخزّن النص لا مواضع الحروف كما في PDF. لكن القطع اللاتينية داخل الفقرات العربية قد تعرض بترتيب مختلط؛ عزل الاتجاه ومراجعة سؤال واحد تحل المشكلة.
كيف يُنقل مفتاح الإجابة إلى النموذج؟
لا يُنقل ضمن نص السؤال. ضع رقم الخيار الصحيح في عمود answer، ثم فعّل وضع الاختبار في Google Forms وتأكد من تحديد الإجابة الصحيحة لكل سؤال. إن لم يكن في المستند مفتاح، يبقى التصحيح يدوياً.
هل تُحفظ الصور الموجودة داخل مستند Word؟
الصور المضمّنة لا تُنقل كصور إلى أسئلة النموذج. ارفع كل صورة إلى رابط عام وضعه في عمود image_url المخصص لذلك السؤال.
هل الأداة تولّد أسئلة بالذكاء الاصطناعي؟
لا، وهي نقطة مقصودة. الأداة تحوّل الأسئلة الموجودة في مستندك فقط، دون صياغة أو تخمين، حتى لا تتغيّر معلومة دراسية أو تُخمَن إجابة صحيحة.
حوّل ملفك إلى نموذج جوجل الآن
ارفع PDF أو Word أو Excel أو CSV الذي يحتوي أسئلتك، واحصل على Google Form في حسابك. صفحة المنتج بالإنجليزية حالياً؛ محتوى أسئلتك العربي يبقى كما هو.
جرّب ExamParser →