واجهة برمجة تطبيقات Ruby المجانية لإنشاء ومعالجة Word DOCX 

مكتبة Ruby مفتوحة المصدر تمنح المبرمجين القدرة على إنشاء مستندات Office Word احترافية ، وتعديل ملفات DOCX ، وإضافة هوامش الصفحة ، وإدراج جداول متداخلة باستخدام بناء جملة يشبه HTML.

تمنح مكتبة Caracal مطوري Ruby القدرة على إنشاء مستندات Office Word احترافية داخل تطبيقاتهم الخاصة باستخدام بناء جملة يشبه HTML. تجعل المكتبة وظائف المطورين سهلة من خلال تمكينهم من استخدام بعض الأوامر البسيطة لإنشاء وإدارة Office Open XML (OOXML). المكتبة مفتوحة المصدر ومتاحة بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.

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

Previous Next

الابتداء مع كاراكال

يرجى إضافة Gemfile الخاص بتطبيق الأوامر التالي للاستخدام السلس للمكتبة.

ثبّت Caracal عن طريق إضافة رمز إلى ملف Gemfile الخاص بالتطبيق

 gem 'caracal'

ثبّت Caracal عن طريق إضافة رمز إلى ملف Gemfile الخاص بالتطبيق

bundle install

إنشاء ملفات Word Docx باستخدام Ruby

تتيح مكتبة Caracal مفتوحة المصدر لمطوري Ruby إنشاء ملفات DOCX داخل تطبيقاتهم باستخدام كود Ruby. تنسيق ملف DOCX عبارة عن مجموعة مضغوطة من مستندات XML ويتم إنشاؤها باستخدام معيار OOXML. تساعد المكتبة المبرمجين من خلال إنشاء البنية الكاملة للمستند وضغطها على المستندات الناتجة. تدعم المكتبة تعديل الملفات الموجودة وتعديل حجم الصفحة وتعيين الهوامش وتطبيق الأنماط وغير ذلك الكثير.

قم بإنشاء مستندات Word عبر مكتبة Ruby Caracal

Caracal::Document.save 'example.docx' do |docx|
  # page 1
  docx.h1 'Page 1 Header'
  docx.hr
  docx.p
  docx.h2 'Section 1'
  docx.p  'Lorem ipsum dolor....'
  docx.p
  docx.table @my_data, border_size: 4 do
    cell_style rows[0], background: 'cccccc', bold: true
  end
  # page 2
  docx.page
  docx.h1 'Page 2 Header'
  docx.hr
  docx.p
  docx.h2 'Section 2'
  docx.p  'Lorem ipsum dolor....'
  docx.ul do
    li 'Item 1'
    li 'Item 2'
  end
  docx.p
  docx.img 'https://www.example.com/logo.png', width: 500, height: 300
end

أضف جداول وجداول متداخلة في ملفات Word

تتيح مكتبة Caracal المجانية لمطوري البرامج إضافة وتعديل الجداول إلى مستند الكلمات الخاص بهم باستخدام سطرين فقط من كود Ruby. تضمنت المكتبة العديد من الوظائف المهمة المتعلقة بإدارة الجداول مثل إضافة عنوان وإضافة أعمدة وصفوف جديدة وتصميم الجزء العلوي والسفلي أو الأيسر واليمين وتطبيق النمط على خلية معينة ودمج الخلايا أو تقسيمها وغير ذلك الكثير. تضمنت المكتبة أيضًا دعمًا للجداول المتداخلة.

استخدم القوائم داخل مستندات Word

تضمنت مكتبة Caracal مفتوحة المصدر دعمًا لاستخدام القوائم داخل ملفات DOCX باستخدام أوامر Ruby. تتيح المكتبة إضافة قوائم مرتبة وغير مرتبة داخل مستندات Word. كما أنه يدعم القوائم المتداخلة العميقة والخلط في تركيبة أخرى. يمكنك بسهولة تحديد أنماط القوائم. تدعم المكتبة 9 مستويات من الأنماط الافتراضية لكل من القوائم المرتبة وغير المرتبة.

كيفية استخدام القوائم داخل مستندات Word عبر مكتبة روبي

docx.ol do
  li 'First item'
  li do
    text 'Second item with a '
    link 'link', 'http://www.google.com'
    text '.'
    br
    text 'This sentence follows a line break.'
  end
end

قم بإدراج فقرة وإشارات مرجعية في ملف DOCX

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

أضف إشارات مرجعية إلى مستندات Word عبر مكتبة روبي

# document-level bookmark
dox.bookmark_start id: 's1', name: 'section1'
docx.h2 'Section Heading'
docx.bookmark_end id: 's1'
docx.p  'Section content.'
# pargraph-level bookmark
docx.h2 'Section Heading'
docx.p do
  text 'Pretend this paragraph has a lot of text and we want to bookmark '
  bookmark_start id: 'p1', name: 'phrase1'
  text 'a single phrase'
  bookmark_end id: 'p1'
  text ' inside the larger block.'
end
 عربي