کتابخانه روبی منبع باز برای پردازش اسناد Word 

Ruby API رایگان که به توسعه‌دهندگان نرم‌افزار امکان می‌دهد فایل‌های Microsoft Word را تولید و ویرایش کنند، سرصفحه‌ها و پاورقی‌ها را مدیریت کنند، جداول را درج و ویرایش کنند، و موارد دیگر.

Docx یک API جاوا اسکریپت منبع باز است که توانایی تولید و مدیریت فایل های Word Docx را در برنامه جاوا اسکریپت خود به راحتی فراهم می کند. این کتابخانه می تواند به راحتی برای Node و همچنین در مرورگر کار کند. کتابخانه بسیار پایدار و آسان برای استفاده است. تنها با چند خط کد، توسعه دهندگان می توانند اسناد word را بدون هیچ گونه وابستگی خارجی ایجاد و دستکاری کنند.

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

Previous Next

شروع کار با Docx

روش توصیه شده برای نصب استفاده از npm است. لطفا از دستور زیر برای Gemfile برنامه خود استفاده کنید

Docs را از طریق npm نصب کنید

 gem install docx

از طریق Ruby روی فایل‌های DOCX موجود بنویسید

کتابخانه Ruby Docx به توسعه دهندگان نرم افزار امکان می دهد فایل های DOCX موجود را باز کرده و محتوای یک فایل را در برنامه های Ruby خود به روز کنند. برای باز کردن یک فایل باید مسیر صحیح فایل DOCX موجود را ارائه دهید. هنگامی که می توانید به اسناد دسترسی داشته باشید، می توانید به راحتی یک خط متن یا پاراگراف اضافه کنید، متن را جایگزین کنید، محتوای ناخواسته را حذف کنید، متن موجود را تغییر دهید و غیره. هنگامی که همه چیز به درستی تکمیل شد، می توانید سند را در مسیر مشخص شده ذخیره کنید.

نحوه نوشتن روی فایل‌های DOCX موجود از طریق Ruby API

require 'docx'
doc = Docx::Document.open('example.docx')
doc.bookmarks['example_bookmark'].insert_text_after("Hello world.")
# Insert multiple lines of text at our bookmark
doc.bookmarks['example_bookmark_2'].insert_multiple_lines_after(['Hello', 'World', 'foo'])
# Remove paragraphs
doc.paragraphs.each do |p|
  p.remove! if p.to_s =~ /TODO/
end
# Substitute text, preserving formatting
doc.paragraphs.each do |p|
  p.each_text_run do |tr|
    tr.substitute('_placeholder_', 'replacement value')
  end
end
# Save document to specified path
doc.save('example-edited.docx')

خواندن فایل Docx از طریق Ruby Library

کتابخانه منبع باز Ruby Docx عملکردی را برای دسترسی و خواندن فایل های MS word DOCX با استفاده از چند خط کد روبی ارائه کرده است. توسعه دهندگان می توانند به راحتی شی سند را برای فایل Docx موجود ما ایجاد کنند و می توانند محتوای فایل را تنها با چند خط کد Ruby بازیابی و نمایش دهند. شما به راحتی یک پاراگراف یا نشانک خاص را نمایش می دهید. همچنین می توانید فایل ها را از بافر نمایش دهید.

باز کردن و خواندن فایل Docx موجود از طریق Ruby API

require 'docx'
# Create a Docx::Document object for our existing docx file
doc = Docx::Document.open('example.docx')
# Retrieve and display paragraphs
doc.paragraphs.each do |p|
  puts p
end
# Retrieve and display bookmarks, returned as hash with bookmark names as keys and objects as values
doc.bookmarks.each_pair do |bookmark_name, bookmark_object|
  puts bookmark_name
end

خواندن جداول در فایل های Word DOCX

کتابخانه منبع باز Ruby DOCX به توسعه دهندگان نرم افزار این امکان را می دهد تا با استفاده از دستورات Ruby به جداول داخل فایل DOCX دسترسی داشته باشند و آن ها را بخوانند. فقط با چند خط کد می توانید به راحتی به ردیف ها، ستون ها و سلول های جداول دسترسی داشته باشید. این کتابخانه از تکرار از طریق جداول، تکرار مبتنی بر ردیف و تکرار مبتنی بر ستون پشتیبانی می کند.

نحوه خواندن جداول در اسناد Word از طریق Ruby API

require 'docx'
# Create a Docx::Document object for our existing docx file
doc = Docx::Document.open('tables.docx')
first_table = doc.tables[0]
puts first_table.row_count
puts first_table.column_count
puts first_table.rows[0].cells[0].text
puts first_table.columns[0].cells[0].text
# Iterate through tables
doc.tables.each do |table|
  table.rows.each do |row| # Row-based iteration
    row.cells.each do |cell|
      puts cell.text
    end
  end
  table.columns.each do |column| # Column-based iteration
    column.cells.each do |cell|
      puts cell.text
    end
  end
end
 فارسی