Ruby API رایگان برای ایجاد و پردازش Word  DOCX 

کتابخانه روبی منبع باز که به برنامه نویسان این امکان را می دهد که اسناد آفیس ورد حرفه ای بسازند، فایل های DOCX را تغییر دهند، حاشیه صفحه را اضافه کنند، جداول تودرتو با استفاده از نحوی شبیه به HTML درج کنند.

کتابخانه Caracal به توسعه دهندگان Ruby این قابلیت را می دهد که اسناد آفیس ورد حرفه ای را در داخل برنامه های خود با استفاده از نحو HTML مانند تولید کنند. این کتابخانه با استفاده از دستورات ساده برای ایجاد و مدیریت Office Open XML (OOXML) کار برنامه‌نویس را آسان می‌کند. این کتابخانه منبع باز است و تحت مجوز MIT در دسترس است.

این کتابخانه بسیار خوب طراحی شده است و دستورالعمل تجزیه اسناد را از دستورالعمل های پردازش جدا می کند. این استراتژی به فرآیند رندر انعطاف پذیری زیادی می دهد. این کتابخانه دارای چندین ویژگی مهم مربوط به پردازش سند word مانند ایجاد اسناد word، تنظیم اندازه صفحه، پشتیبانی از حاشیه‌های صفحه، شکستن صفحه، شماره‌های صفحه، پشتیبانی فونت‌ها، پشتیبانی از سبک‌ها و قالب‌بندی، افزودن پاراگراف، استفاده از پیوندها و نشانک‌ها، درج کردن است. جداول، پشتیبانی از جداول تودرتو، پشتیبانی از تصاویر و بسیاری موارد دیگر.

Previous Next

شروع کار با کاراکال

لطفاً Gemfile برنامه دستور زیر را برای استفاده راحت از کتابخانه اضافه کنید.

با افزودن کد به Gemfile برنامه، کاراکال را نصب کنید

 gem '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 خود اضافه و تغییر دهند. این کتابخانه شامل چندین عملکرد مهم مرتبط با مدیریت جداول است، مانند افزودن عنوان، افزودن ستون‌ها و ردیف‌های جدید، سبک‌دهی به بالا، پایین یا چپ و راست،  اعمال سبک به یک سلول خاص، ادغام یا تقسیم سلول‌ها و بسیاری موارد دیگر. این کتابخانه همچنین از جداول تودرتو پشتیبانی می‌کرد.

از لیست ها در اسناد 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 خود به راحتی فراهم کرده است. این کتابخانه دارای چندین عملکرد مرتبط با مدیریت پاراگراف ها است، مانند تراز متن، انتخاب فونت، تعیین رنگ فونت و تنظیم اندازه فونت رنگ پس زمینه، اعمال تراز عمودی و غیره. همچنین از درج نشانک ها به طور مستقیم در سند یا داخل بلوک های پاراگراف به راحتی پشتیبانی می کند.

اضافه کردن نشانک به اسناد Word از طریق Ruby Library

# 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
 فارسی