Ruby API رایگان برای ایجاد و پردازش Word DOCX
کتابخانه روبی منبع باز که به برنامه نویسان این امکان را می دهد که اسناد آفیس ورد حرفه ای بسازند، فایل های DOCX را تغییر دهند، حاشیه صفحه را اضافه کنند، جداول تودرتو با استفاده از نحوی شبیه به HTML درج کنند.
کتابخانه Caracal به توسعه دهندگان Ruby این قابلیت را می دهد که اسناد آفیس ورد حرفه ای را در داخل برنامه های خود با استفاده از نحو HTML مانند تولید کنند. این کتابخانه با استفاده از دستورات ساده برای ایجاد و مدیریت Office Open XML (OOXML) کار برنامهنویس را آسان میکند. این کتابخانه منبع باز است و تحت مجوز MIT در دسترس است.
این کتابخانه بسیار خوب طراحی شده است و دستورالعمل تجزیه اسناد را از دستورالعمل های پردازش جدا می کند. این استراتژی به فرآیند رندر انعطاف پذیری زیادی می دهد. این کتابخانه دارای چندین ویژگی مهم مربوط به پردازش سند word مانند ایجاد اسناد word، تنظیم اندازه صفحه، پشتیبانی از حاشیههای صفحه، شکستن صفحه، شمارههای صفحه، پشتیبانی فونتها، پشتیبانی از سبکها و قالببندی، افزودن پاراگراف، استفاده از پیوندها و نشانکها، درج کردن است. جداول، پشتیبانی از جداول تودرتو، پشتیبانی از تصاویر و بسیاری موارد دیگر.
شروع کار با کاراکال
لطفاً 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