الرئيسية › تحويل جوجل فورم إلى Word

تحويل جوجل فورم إلى وورد: ملف DOCX قابل للتحرير من أسئلتك

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

حين تحتاج أسئلة قابلة للتحرير بدل نسخة للقراءة فقط، فـ Word (.docx) هو الخيار الصحيح. هذا الدليل يحوّل Google Form إلى مستند عربي باتجاه RTL سليم، ومعه سكربت python-docx يُنتج نسخة للطلاب وأخرى للمعلم.

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

لماذا Word وليس PDF؟

كلاهما يخرج الأسئلة من النموذج، لكنهما يخدمان غرضين مختلفين:

المعيارPDFWord (.docx)
التعديلصعب ومقيّدسهل، كل سطر قابل للتحرير
ثبات التخطيط عبر الأجهزةممتازيتأثر بإصدار Word والخطوط
إضافة أسئلة أو حذفهالانعم
إعداد ورقة امتحان للطباعةجاهزيحتاج ضبط هوامش وفواصل صفحات
دمج مع قوالب المدرسةلانعم
إعادة الاستيراد إلى Google Formsغير مباشرمباشر عبر محوّل Word → Form
قاعدة الاختيار: إن كان الملف سيُوزَّع كما هو فـ PDF. وإن كان سيُحرَّر أو يُدمج أو يُعاد استيراده فـ DOCX.

ما الذي ينتقل إلى ملف Word

العنصرالحالةملاحظة
نص السؤالينتقلكما كتبته، بالعربية
الخياراتتنتقلقائمة مرتّبة أو جدول
مفتاح الإجابةاختيارييوضع في نسخة المعلم فقط
الدرجاتاختياريتُقرأ من وضع الاختبار
وصف النموذج والأقسامينتقلكعناوين
الصورروابط أو صور مضمّنة حسب المساريحتاج ملفات قابلة للوصول
الردود والصلاحيات والثيملا تنتقلليست جزءاً من بنية الأسئلة
التفرّع والمنطق الشرطيلا ينتقلسلوك تفاعلي

المسار: من رابط النموذج إلى DOCX

1

انسخ رابط النموذج

رابط العرض، وتأكد أن الوصول يسمح بالقراءة.

2

حدّد النسخة المطلوبة

نسخة للطلاب بلا إجابات، أم نسخة للمعلم بمفتاح الإجابة؟

3

حوّل

ارفع الرابط إلى ExamParser للحصول على .docx، أو شغّل السكربت أدناه.

4

اضبط الاتجاه

فعّل RTL على الفقرات العربية واختر خطاً عربياً حديثاً.

5

راجع في Word وعلى الهاتف

اتجاه القوائم والجداول هو أكثر ما يختلف بين الأجهزة.

سكربت يعمل: نسخة الطالب ونسخة المعلم من DOCX

يقرأ السكربت أسئلة من CSV بالأعمدة الثابتة، ويُنتج ملفين منفصلين: نسخة للطلاب بلا إجابات، ونسخة للمعلم بمفتاح الإجابة. ويضبط اتجاه الفقرة RTL عبر عنصر w:bidi لأن python-docx لا يوفّر خاصية جاهزة لذلك. ثبّت بـ pip install python-docx.

# -*- coding: utf-8 -*-
import csv
from docx import Document
from docx.shared import Pt, Cm
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx.oxml import OxmlElement

def set_rtl(paragraph, font_name="Noto Naskh Arabic"):
    pPr = paragraph._p.get_or_add_pPr()
    bidi = OxmlElement("w:bidi")
    bidi.set(qn("w:val"), "1")
    pPr.append(bidi)
    paragraph.alignment = WD_ALIGN_PARAGRAPH.RIGHT
    for run in paragraph.runs:
        run.font.name = font_name
        run.font.size = Pt(12)
        rPr = run._element.get_or_add_rPr()
        rFonts = rPr.find(qn("w:rFonts"))
        if rFonts is None:
            rFonts = OxmlElement("w:rFonts")
            rPr.append(rFonts)
        rFonts.set(qn("w:ascii"), font_name)
        rFonts.set(qn("w:hAnsi"), font_name)
        rFonts.set(qn("w:cs"), font_name)

def build(csv_path, student="student.docx", teacher="teacher.docx"):
    with open(csv_path, encoding="utf-8-sig", newline="") as f:
        rows = list(csv.DictReader(f))

    for target, with_key in ((student, False), (teacher, True)):
        doc = Document()
        for s in doc.sections:
            s.left_margin = s.right_margin = Cm(2.5)
        h = doc.add_heading("الاختبار", level=1)
        set_rtl(h)

        for i, r in enumerate(rows, 1):
            p = doc.add_paragraph(style="List Number")
            p.add_run("%d. %s" % (i, r["question"]))
            set_rtl(p)
            for k in ("option_1", "option_2", "option_3", "option_4"):
                if r.get(k):
                    o = doc.add_paragraph(style="List Bullet")
                    o.add_run(r[k])
                    set_rtl(o)
            if with_key and r.get("answer"):
                a = doc.add_paragraph()
                a.add_run("الإجابة الصحيحة: " + r["answer"]).bold = True
                set_rtl(a)
        doc.save(target)
        print("wrote", target)

if __name__ == "__main__":
    build("questions.csv")

فصل الملفين ليس تفصيلاً شكلياً: خلط نسخة المعلم في نفس الملف الذي يُوزَّع على الطلاب هو أكثر الأخطاء تكلفة في إعداد الاختبارات. كذلك لاحظ أن List Number يعتمد على ترقيم Word التلقائي؛ إن أردت أرقاماً ثابتة قابلة للمطابقة مع CSV فاكتب الرقم كنص كما في السكربت.

ضبط اتجاه RTL: ما الذي يخطئ عادةً

المشكلةالسببالحل
الجملة العربية تظهر بترتيب مقلوبالفقرة LTR افتراضياًأضف w:bidi كما في set_rtl()
الأقلام اللاتينية تسبق الكلمة خطأًاتجاه مختلط بلا عزلاجعل القطع اللاتينية في run منفصل
القوائم تظهر على اليسارنمط القائمة يفرض محاذاةاضبط alignment = RIGHT بعد تطبيق النمط
الخط يتبدل على جهاز آخراسم الخط غير متوفراستخدم خطاً شائعاً أو أرفق الملف بالخط
الأرقام العربية تظهر هندية أحياناًإعدادات Word الإقليميةوحّد الترقيم في النص ولا تعتمد على الترقيم التلقائي

من Word إلى Google Form مجدداً

إحدى مزايا DOCX أن الرحلة يمكن أن تعود: تُحرّر الأسئلة في Word، ثم تُعاد إلى Google Forms عبر محوّل Word → Google Form، وهو ما لا يوفره PDF بنفس السهولة. هذه الدورة مفيدة حين يراجع أكثر من مدرّس المادة قبل النشر.

الخطوةالأداةملاحظة
1. Google Form → DOCXgform2wordيُنتج أسئلة قابلة للتحرير
2. مراجعة المادةWordتعديل النص والخيارات ومفتاح الإجابة
3. DOCX → Google Formgoogleform_pdfينشئ نموذجاً جديداً في حسابك

تنبيه: النموذج الناتج في الخطوة 3 جديد. لا يستعيد الردود القديمة ولا الرابط الأصلي ولا المتعاونين.

الفروق بين الأجهزة والخطوط

الفروق التالية تظهر فعلياً عند التصدير والطباعة، وليست افتراضية:

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

  1. الملف يفتح باتجاه خاطئ: لم تُضف w:bidi؛ استخدم set_rtl().
  2. الحروف منفصلة أو مربّعات: خط قديم أو غير مثبّت؛ استخدم Noto Naskh Arabic.
  3. ترقيم الأسئلة يقفز: خلط بين الترقيم التلقائي والنص المكتوب؛ اختر واحداً.
  4. ظهرت الإجابات في نسخة الطلاب: استخدمت ملف المعلم بالخطأ؛ سمّ الملفين بوضوح وراجع قبل التوزيع.
  5. الخيارات تختفي: أسماء أعمدة CSV مختلفة؛ استخدم utf-8-sig والأسماء نفسها في السكربت.
  6. الجداول تنقلب على iPad: اضبط اتجاه الجدول صراحةً، لا اتجاه الصفحة فقط.
  7. .docx يصل كـ zip عند المشاركة: احفظه في «الملفات» ثم ارفعه من هناك.
  8. الصور لا تظهر بعد الفتح على جهاز آخر: كانت مرتبطة بمسار محلي؛ أدمجها أو استخدم روابط عامة.

ما الذي لا ينتقل مع التحويل

حدود واضحة قبل أن تبني عليها سير عملك. ملف PDF أو Word الناتج يحمل بنية الأسئلة: نص السؤال، والخيارات، ومفتاح الإجابة إن وُجد. لا يحمل الردود التي أدخلها الطلاب، ولا رابط النموذج الأصلي، ولا المتعاونين والصلاحيات، ولا جدول الاستجابات المرتبط، ولا الثيم، ولا رسالة التأكيد، ولا حالة النشر، ولا إعدادات التحقق. إن كان هدفك أرشفة الإجابات فهذه عملية مختلفة تماماً تبدأ من Google Sheets، ولا يؤديها تحويل النموذج نفسه.

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

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

كل الإجابات تفترض أنك تملك صلاحية قراءة النموذج وتصدير محتواه.

هل يصدّر Google Forms ملف Word مباشرة؟

لا. لا يوجد زر تصدير إلى .docx داخل نماذج جوجل. تحتاج محوّلاً يقرأ أسئلة النموذج ويكتبها في مستند Word، أو سكربتاً يبني الملف من جدول الأسئلة كما في المثال المرفق.

ما الفرق بين تحويل النموذج إلى Word وتحويله إلى PDF؟

Word ملف قابل للتحرير والدمج مع قوالب المدرسة وإعادة الاستيراد إلى Google Forms، لكن تخطيطه قد يختلف بين الأجهزة. PDF ثابت للتوزيع والطباعة لكن تعديله صعب. اختر Word إن كنت ستعدّل، وPDF إن كان الملف نهائياً.

كيف أجعل النص العربي يظهر باتجاه صحيح في DOCX؟

python-docx لا يوفّر خاصية RTL جاهزة، لذا أضف عنصر w:bidi إلى خصائص الفقرة واضبط المحاذاة إلى اليمين وعيّن خطاً عربياً لكل run في rFonts. السكربت المرفق يفعل ذلك في دالة set_rtl.

هل يمكنني إعادة استيراد ملف Word المعدّل إلى Google Forms؟

نعم، عبر محوّل Word → Google Form، لكنه ينشئ نموذجاً جديداً في حسابك. لا تُستعاد الردود السابقة ولا الرابط الأصلي ولا المتعاونون ولا إعدادات النشر.

هل يحتوي ملف Word على إجابات الطلاب؟

لا. الملف يحمل بنية الأسئلة ومفتاح الإجابة إن اخترت إدراجه. ردود الطلاب تُصدَّر بشكل منفصل من جدول الاستجابات في Google Sheets.

صدّر أسئلتك الآن

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

جرّب ExamParser →