مكتبة روبي مفتوحة المصدر لإنشاء مستندات Word وإضافة جداول

جيم (مكتبة) روبي مجانية تمكّن من إنشاء ملفات Microsoft Word .docx باستخدام تنسيق Office Open XML (OOXML) وإضافة فقرات نصية، جداول وصور داخل ملفات DOCX.

ما هو OpenXml::Docx؟

أصبحت مستندات Microsoft Word هي المعيار للاتصالات التجارية والتقارير والوثائق عبر الصناعات. بينما ينجح إنشاء المستندات يدويًا للمهام الصغيرة، يصبح أتمتة توليد المستندات أمرًا أساسيًا عند التعامل مع القوالب أو العمليات الضخمة أو المحتوى الديناميكي. هنا يأتي دور OpenXml::Docx — مكتبة روبي تمكّن مطوري البرمجيات من إنشاء مستندات Word احترافية برمجيًا. تعمل المكتبة في أي بيئة تدعم Ruby، دون أي تبعيات خارجية. هناك عدة ميزات مهمة في المكتبة، مثل إنشاء مستندات Word جديدة، تطبيق تنسيق النص وتنسيقه، الجداول وعرض البيانات، دمج الصور والوسائط، وغيرها.

OpenXml::Docx هو جيم روبي يوفر واجهة نظيفة وبديهية لإنشاء مستندات Word بتنسيق Open XML (امتداد .docx الذي نعرفه جميعًا). على عكس الحلول الثقيلة التي تتطلب تثبيت Microsoft Office، تعمل هذه المكتبة بشكل مستقل، حيث تنشئ المستندات من الصفر باستخدام كود روبي نقي. تتبع المكتبة معيار Office Open XML، مما يضمن التوافق مع Microsoft Word وGoogle Docs وLibreOffice وغيرها من معالجات النص الحديثة. تركز المكتبة على البساطة والقراءة السهلة، مما يجعل توليد المستندات متاحًا حتى للمطورين الذين لا يعرفون بنية XML المعقدة المتواجدة في مستندات Word. بدلاً من التعقّد مع مساحات أسماء XML والأنماط، يمكنك كتابة كود روبي بسيط يبدو طبيعيًا وسهل الصيانة.

Previous Next

البدء مع OpenXml::Docx

الطريقة الموصى بها لتثبيت OpenXml::Docx هي باستخدام RubyGems. يرجى استخدام الأمر التالي لضمان تثبيت سلس.

تثبيت OpenXml::Docx عبر RubyGems

 gem install openxml-docx
You can also download it directly from GitHub.

إنشاء مستند DOCX الأول الخاص بك

تتضمن مكتبة OpenXml::Docx المفتوحة المصدر دعمًا كاملاً لإنشاء وإدارة مستندات Word الجديدة داخل تطبيقات Java. العنصر الأساسي في مستند Word هو الفقرة. باستخدام بضع أسطر من الكود فقط، يمكن لمطوري البرمجيات إضافة نصوص وصور داخل مستندات Word. إليكم مثالًا بسيطًا يوضح كيف يمكن للمطورين الوصول إلى جسم المستند، إضافة فقرة مع نص، تطبيق التنسيق، وحفظ الملف.

كيفية إنشاء مستند Word وإضافة فقرة بنص عبر واجهة برمجة تطبيقات Java؟

require 'openxml/docx'

# Create a new document package
package = OpenXml::Docx::Package.new

# Access the main document
doc = package.document

# Add a paragraph with text
paragraph = doc.add_paragraph
run = paragraph.add_run
run.text = "Welcome to OpenXml::Docx"
run.bold = true
run.font_size = 24

# Save the document
package.save('welcome.docx')

تنسيق النص المتقدم عبر Java

تتضمن مكتبة OpenXml::Docx المفتوحة المصدر دعمًا كاملاً لتنسيق النص الأساسي والمتقدم داخل مستندات Word. إلى جانب التنسيقات البسيطة كالخط العريض والمائل، تدعم المكتبة تنسيقات نصية متقدمة. يُظهر مثال كود Java التالي الخطوط الداخلية، الخط المشطوب، تمييز النص، وتركيبات متعددة من التأثيرات. خاصية اللون تقبل قيمًا ست عشرية، مما يسمح بمطابقة دقيقة لألوان العلامة التجارية.

كيفية تطبيق تنسيق النص على مستندات Word عبر واجهة برمجة تطبيقات Java؟

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Demonstrate various text effects
para1 = doc.add_paragraph
run1 = para1.add_run
run1.text = "This text is underlined"
run1.underline = :single

para2 = doc.add_paragraph
run2 = para2.add_run
run2.text = "This text has a strikethrough"
run2.strike = true

para3 = doc.add_paragraph
run3 = para3.add_run
run3.text = "This text is highlighted"
run3.highlight = "yellow"

para4 = doc.add_paragraph
run4 = para4.add_run
run4.text = "This combines multiple effects"
run4.bold = true
run4.italic = true
run4.color = "FF0000"
run4.font_size = 16

package.save('formatted_text.docx')

إنشاء جداول للبيانات في ملفات Word عبر Java

تعد الجداول أساسية لعرض المعلومات المنظمة. تسهّل مكتبة OpenXml::Docx على مطوري البرمجيات إنشاء جداول داخل مستندات Word لإدارة البيانات بطريقة صحيحة داخل تطبيقات Java. إليكم مثالًا عمليًا يخلق جدول مبيعات احترافي مع صف رأس بالخط العريض وثلاثة صفوف بيانات. يوضح الكود كيفية الوصول إلى خلايا محددة وتعبئتها بالمحتوى. يمكنك التكرار عبر هياكل البيانات وتعبئة الجداول ديناميكيًا، مما يجعلها مثالية لتوليد التقارير.

كيفية إنشاء جدول مع صفوف وأعمدة داخل تطبيقات Java؟

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Add a heading
heading = doc.add_paragraph
heading_run = heading.add_run
heading_run.text = "Sales Summary"
heading_run.bold = true
heading_run.font_size = 18

# Create a table with 3 columns and 4 rows
table = doc.add_table(rows: 4, cols: 3)

# Header row
table.rows[0].cells[0].add_paragraph.add_run.text = "Product"
table.rows[0].cells[1].add_paragraph.add_run.text = "Units Sold"
table.rows[0].cells[2].add_paragraph.add_run.text = "Revenue"

# Make header row bold
table.rows[0].cells.each do |cell|
  cell.paragraphs[0].runs[0].bold = true
end

# Data rows
products = [
  ["Widget A", "1,250", "$25,000"],
  ["Widget B", "890", "$17,800"],
  ["Widget C", "2,100", "$42,000"]
]

products.each_with_index do |product, index|
  row = table.rows[index + 1]
  product.each_with_index do |value, col_index|
    row.cells[col_index].add_paragraph.add_run.text = value
  end
end

package.save('sales_summary.docx')

إنشاء تقارير وفواتير تلقائيًا

يمكن للشركات استخدام مكتبة OpenXml::Docx لتوليد التقارير الشهرية والبيانات المالية أو ملخصات التحليل تلقائيًا. من خلال سحب البيانات من قواعد البيانات وتنسيقها في مستندات احترافية، توفر المؤسسات ساعات لا تُحصى من العمل اليدوي. علاوةً على ذلك، يمكن لمنصات التجارة الإلكترونية والشركات الخدمية إنشاء الفواتير والعقود بشكل ديناميكي. يمكن تعبئة معلومات العملاء وبنود الفاتورة والشروط من قواعد البيانات، مما يضمن الدقة والاتساق في جميع المستندات.

 عربي