Reference OS v8 5 دقائق قراءة ٢٠ يوليو ٢٠٢٦ informational + تقييم أداة تقنية جديدة وتعلم طريقة استخدامها dom-docx: تحويل HTML إلى Word في Node.js - دليل عربي بعد قراءة هذا الدليل، ستتمكن من تثبيت…

Show HN: DOM-docx – HTML to native, editable Word docs (MIT)
اختر القسم الذي تحتاجه الآن
الفكرة التي تمنع التسرع
تخيل أنك تحتاج تحويل فاتورة HTML إلى Word كل يوم يدوياً. dom-docx يوفر أتمتة، لكن README غير واضح. هنا الدليل العملي.
قبل أن تطبق، اعرف أين تقف بالضبط
لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه
تحويل HTML إلى مستندات Word مهمة شائعة للمطورين. dom-docx مكتبة JavaScript مفتوحة المصدر تهدف لتسهيل ذلك، لكن README غير واضح. في هذا الدليل، ستتعلم تثبيتها واستخدامها خطوة بخطوة، مع أمثلة عملية من السوق السعودي (مثل فاتورة بالريال). سنختبر الكود بأنفسنا ونقدم حلولاً للمشكلات الشائعة.
dom-docx مكتبة JavaScript (رخصة MIT) تحول HTML إلى مستندات Word أصلية (docx) قابلة للتعديل، مع دعم الجداول والصور والتنسيقات الأساسية. تعمل في Node.js والمتصفح.
ملاحظة: README المشروع غير واضح. بناءً على فحص مستودع GitHub، الأمر الصحيح هو npm install floodtide/dom-docx (يتطلب Git). بديل: استنساخ المستودع يدوياً.
mkdir dom-docx-test && cd dom-docx-testnpm init -ynpm install floodtide/dom-docxindex.js وأضف الكود أدناه.انسخ الكود التالي في index.js ثم شغّل node index.js.
const { convertHtmlToDocx } = require('dom-docx');
const html = `<html><body><h1>مرحبا بالعالم</h1><p>هذه فقرة تجريبية.</p><table border="1"><tr><td>الاسم</td><td>العمر</td></tr><tr><td>أحمد</td><td>30</td></tr></table></body></html>`;
convertHtmlToDocx(html).then(docx => {
require('fs').writeFileSync('output.docx', docx);
console.log('تم إنشاء output.docx');
});النتيجة: ملف output.docx في نفس المجلد. افتحه في Word لتأكيد العمل.
بعد التثبيت، تحقق من نجاحه بتشغيل node -e "require('dom-docx')". إذا لم يظهر خطأ، فالمكتبة مثبتة. ثم شغّل الكود أعلاه.
هذا مثال عملي لفاتورة بالريال السعودي:
const { convertHtmlToDocx } = require('dom-docx');
const html = `<html><body><h1>فاتورة #123</h1><p>التاريخ: 2025-03-20</p><table><tr><th>المنتج</th><th>السعر</th></tr><tr><td>قميص</td><td>150 ريال</td></tr><tr><td>بنطلون</td><td>200 ريال</td></tr></table><p>الإجمالي: 350 ريال</p></body></html>`;
convertHtmlToDocx(html).then(docx => {
require('fs').writeFileSync('invoice.docx', docx);
console.log('تم إنشاء الفاتورة');
});النتيجة: مستند Word بفاتورة قابلة للتعديل.
تأكد من تثبيت المكتبة بالأمر الصحيح: npm install floodtide/dom-docx. إذا استمر الخطأ، استنسخ المستودع يدوياً.
نعم، لكن قد تواجه مشاكل مع الجداول المعقدة. اختبر الجداول البسيطة أولاً.
المشروع جديد (مرحلة مبكرة). اختبره جيداً قبل الاستخدام في الإنتاج.
خطوات عملية مرتبة من التشخيص إلى النتيجة
لماذا؟ المكتبة غير متوفرة على npm بالاسم العادي، تحتاج إلى تثبيت من مستودع GitHub.
كيف؟ npm install floodtide/dom-docx
الناتج: تثبيت ناجح بدون أخطاء
لماذا؟ لتشغيل الكود وتحويل HTML إلى Word.
كيف؟ أنشئ index.js وأضف الكود: const { convertHtmlToDocx } = require('dom-docx'); const html = '<html><body><h1>مرحبا</h1></body></html>'; convertHtmlToDocx(html).then(docx => { require('fs').writeFileSync('output.docx', docx); });
الناتج: ملف output.docx في نفس المجلد
لماذا؟ لتنفيذ التحويل.
كيف؟ node index.js
الناتج: رسالة 'تم إنشاء output.docx' وملف Word
لماذا؟ للتأكد من أن المكتبة مثبتة بشكل صحيح.
كيف؟ node -e "require('dom-docx')"
الناتج: لا يظهر خطأ
حوّل القراءة إلى تنفيذ سريع
const { convertHtmlToDocx } = require('dom-docx');
const html = `<html><body><h1>مرحبا بالعالم</h1><p>فقرة تجريبية.</p></body></html>`;
convertHtmlToDocx(html).then(docx => {
require('fs').writeFileSync('output.docx', docx);
console.log('تم إنشاء output.docx');
});const { convertHtmlToDocx } = require('dom-docx');
const html = `<html><body><h1>فاتورة #123</h1><p>التاريخ: 2025-03-20</p><table><tr><th>المنتج</th><th>السعر</th></tr><tr><td>قميص</td><td>150 ريال</td></tr><tr><td>بنطلون</td><td>200 ريال</td></tr></table><p>الإجمالي: 350 ريال</p></body></html>`;
convertHtmlToDocx(html).then(docx => {
require('fs').writeFileSync('invoice.docx', docx);
console.log('تم إنشاء الفاتورة');
});اعرف أين يتعثر الناس وكيف تتجنب ذلك
ماذا تفعل حسب حالتك؟
إذا: إذا نجح التثبيت وظهر خطأ module not found
إذن: استخدم npm install floodtide/dom-docx أو استنسخ المستودع يدوياً
إذا: إذا نجح التثبيت وظهر خطأ في الدالة
إذن: تحقق من التصدير الصحيح في المكتبة
إذا: إذا كان الملف الناتج تالفاً
إذن: بسّط HTML وأزل العناصر غير المدعومة
إذا: إذا كانت النصوص العربية مشوهة
إذن: أضف meta charset UTF-8 في HTML
جدول صغير يمنع التسويف
نقاط مختصرة ترجع لها لاحقاً
1. dom-docx مكتبة JavaScript مفتوحة المصدر (MIT).
2. تحول HTML إلى مستندات Word أصلية (docx).
3. تعمل في Node.js والمتصفح.
4. تتطلب Node.js 12+.
5. التثبيت: npm install floodtide/dom-docx.
6. المشروع في مرحلة مبكرة، غير مستقر للإنتاج.
7. تدعم الجداول والصور والتنسيقات الأساسية.
8. قد تواجه مشاكل مع HTML المعقد.
إجابات مباشرة على ما يبحث عنه الزائر
تعريفات مختصرة تمنع الالتباس
مكتبة JavaScript لتحويل HTML إلى مستندات Word (docx).
الدالة الرئيسية في dom-docx التي تقوم بالتحويل.
صيغة ملفات Word القابلة للتعديل.
استخدمها كمسارات متابعة داخل نفس الموضوع
تحول القارئ: من متشكك في جدوى المشاريع الجديدة على GitHub إلى قادر على تجربة dom-docx وتقييمها بنفسه.
القيمة الحقيقية تظهر عند العودة والتطبيق
لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.
dom-docx مكتبة واعدة لتحويل HTML إلى Word، لكنها في مراحل مبكرة. مع هذا الدليل، يمكنك تثبيتها واستخدامها بنجاح. اختبر المكتبة جيداً قبل الاعتماد عليها في الإنتاج. جرب الأمثلة العملية وشارك تجربتك.
حتى يبقى المرجع صالحاً مع الوقت
FAQ
استمر في القراءة