Repository navigation
Best Practices ar
Hammad Maqbool edited this page Oct 29, 2026
·
1 revision
English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt
هذه العادات مستمدة مباشرة من طريقة عمل docxi، ومعظمها يمنع مشكلة مدرجة في استكشاف الأخطاء وإصلاحها. وهي مجمّعة حسب الموضوع. نصائح إعداد الصفحة تنطبق على الجميع، أما نصائح الأمان والأداء فهي الأهم لتطبيقات الإنتاج.
-
مرّر الهوامش الأربعة معًا. القاموس الذي تمرره إلى
Docxi::Document.newيحل محل القيم الافتراضية، وأي واحد منtopوrightوbottomوleftتتركه يُكتب فارغًا. -
اضبط رأس الصفحة الأولى وتذييلها. تفعّل docxi دائمًا صفحة أولى منفصلة. إذا احتاجت الصفحة 1 إلى رأس أو تذييل، فاستدعِ
add_first_headerوadd_first_footerأيضًا.
-
استخدم
space: trueللمسافات في البداية أو النهاية. وإلا حذفها Word والتصقت كلمات المقطعين. -
ضع التنسيق المشترك على الفقرة. الخيارات المُمرَّرة إلى
p، مثلsize:أوfont:، تنطبق على كل مقطع بداخلها، فيقل ما تحتاج إلى تكراره. -
استخدم
p.brلفواصل الأسطر وdocument.br(page: true)لفواصل الصفحات. استدعاءdocument.brدونpage: trueينتج XML غير صالح.
-
اضبط الحدود على الصفوف أو الخلايا، لا على الجدول. في الإصدار 0.1.0 يُطبَّق الخيار
borders:على مستوى الجدول على كل خلية بدلًا من الحواف الخارجية للجدول. -
حدّد
columns_widthلكل عمود. تأخذ الخلايا عرضها منه، فتحافظ الجداول على التخطيط الذي تتوقعه.
- استخدم ملفات PNG. تُخزَّن كل صورة كجزء PNG.
-
اضبط حجم الصور المضمّنة باستخدام
style:، مثلstyle: { width: "120pt", height: "60pt" }. إنه حجم الصور الوحيد الذي يعمل كما تتوقع في الإصدار 0.1.0. -
مرّر مسارًا بدلًا من كائن
Fileمفتوح إذا كان المستند قد يُولَّد أكثر من مرة. صور IO تُقرأ أثناءrender، والتوليد الثاني يحصل على صورة فارغة. -
صور رؤوس الصفحات وخلايا الجداول والصور المحددة الموضع حتى الإصدار 0.2.0. يُحسب عرضها وارتفاعها كلاهما على أنه
width * height * 14.92EMU، لذا تظهر مربعة. للحصول على صورة مربعة طول ضلعهاSبوصة، مرّرwidthوheightبقيمةMath.sqrt(S * 914400 / 14.92).round، وهي نحو 248 لبوصة واحدة.
-
لا تمرر سلاسل نصية غير موثوقة إلى
add_media. المسار يجعل docxi تقرأ ذلك الملف من خادمك، وعنوان URL يجعل خادمك ينزّله. مرّر كائن IO فتحته بنفسك، أو تحقق من القيمة أولًا. راجع الأمان. -
يُهرَّب النص تلقائيًا. السلاسل المُمرَّرة إلى
textتُكتب كنص XML، لذا لا يمكن لمدخلات المستخدمين تغيير بنية المستند.
-
ابنِ المستندات الكبيرة في مهمة في الخلفية. يُبنى المستند كاملًا في الذاكرة عند استدعاء
render. راجع التكامل. -
ولّد مرة واحدة ثم أعد استخدام البايتات. احتفظ بـ
word.render.stringإذا احتجت إلى إرسال المستند أو تخزينه أكثر من مرة. -
ثبّت إصدارًا متوافقًا باستخدام
gem "docxi", "~> 0.1". -
اختبر ما تولّده. ملف
.docxأرشيف zip من ملفات XML، لذا يمكن للاختبارات فك ضغطه وفحص XML. اختبارات docxi نفسها تعمل بهذه الطريقة. راجع البنية.
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages