Word ডকুমেন্ট তৈরি ও টেবিল যোগ করার জন্য ওপেন সোর্স রুবি লাইব্রেরি

ফ্রি রুবি জেম (লাইব্রেরি), যা Office Open XML (OOXML) ফরম্যাট ব্যবহার করে Microsoft Word .docx ফাইল তৈরি করে এবং DOCX ফাইলের মধ্যে টেক্সট প্যারা, টেবিল ও ছবি যোগ করে।

OpenXml::Docx কী?

মাইক্রোসফ্ট ওয়ার্ড ডকুমেন্ট ব্যবসায়িক যোগাযোগ, রিপোর্ট ও ডকুমেন্টেশনের জন্য একটি মানদণ্ড হয়ে উঠেছে। ছোট কাজের জন্য ম্যানুয়াল ডকুমেন্ট তৈরী কাজ করে, তবে টেমপ্লেট, ব্যাচ অপারেশন বা ডাইনামিক কন্টেন্ট নিয়ে কাজ করার সময় ডকুমেন্ট জেনারেশন স্বয়ংক্রিয় করা অপরিহার্য হয়ে দাঁড়ায়। এখানে OpenXml::Docx কাজে আসে—একটি রুবি লাইব্রেরি, যা সফটওয়্যার ডেভেলপারদের প্রোগ্রাম্যাটিকভাবে পেশাদার Word ডকুমেন্ট তৈরি করার ক্ষমতা দেয়। এই লাইব্রেরি রুবি যে কোনো জায়গায় চলে, কোনো বাহ্যিক নির্ভরতা ছাড়াই। লাইব্রেরির বেশ কয়েকটি গুরুত্বপূর্ণ ফিচার রয়েছে, যেমন নতুন Word ডকুমেন্ট তৈরি, টেক্সট ফরম্যাটিং ও স্টাইলিং প্রয়োগ, টেবিল ও ডেটা উপস্থাপন, ছবি ও মিডিয়া ইন্টিগ্রেশন ইত্যাদি।

OpenXml::Docx হল একটি রুবি জেম, যা ওপেন এক্সএমএলের (যা আমরা সবাই জানি .docx এক্সটেনশন) ফরম্যাটে Word ডকুমেন্ট তৈরির জন্য একটি পরিষ্কার ও স্বজ্ঞাত ইন্টারফেস প্রদান করে। মাইক্রোসফট অফিস ইনস্টল করার মতো ভারী সমাধানের বিপরীতে, এই লাইব্রেরি স্বাধীনভাবে কাজ করে, শুধুমাত্র রুবি কোড ব্যবহার করে স্ক্র্যাচ থেকে ডকুমেন্ট তৈরি করে। এটি অফিস ওপেন এক্সএল স্ট্যান্ডার্ড অনুসরণ করে, মাইক্রোসফট ওয়ার্ড, গুগল ডক্স, লিব্রঅফিস এবং অন্যান্য আধুনিক ওয়ার্ড প্রসেসরের সাথে সামঞ্জস্য নিশ্চিত করে। লাইব্রেরি সরলতা ও পড়ার সহজতার উপর জোর দেয়, এমনকি যেসব ডেভেলপার Word ডকুমেন্টের জটিল XML গঠন সম্পর্কে পরিচিত নয়, তাদের জন্যও ডকুমেন্ট জেনারেশন সহজ করে। XML নেমস্পেস ও স্কিমা নিয়ে ঝামেলা না করে, আপনি স্বাভাবিক ও রক্ষণাবেক্ষণযোগ্য রুবি কোড লিখতে পারেন।

Previous Next

OpenXml::Docx দিয়ে শুরু করা

OpenXml::Docx ইনস্টল করার সুপারিশকৃত পদ্ধতি হল RubyGems ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ড ব্যবহার করুন।

RubyGems দিয়ে OpenXml::Docx ইনস্টল করুন

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

আপনার প্রথম DOCX ডকুমেন্ট তৈরি করা

ওপেন সোর্স OpenXml::Docx জাভা অ্যাপ্লিকেশনের মধ্যে নতুন Word ডকুমেন্ট তৈরি ও ম্যানেজ করার সম্পূর্ণ সাপোর্ট অন্তর্ভুক্ত করেছে। একটি Word ডকুমেন্টের মৌলিক নির্মাণ ব্লক হল প্যারাগ্রাফ। কোডের কয়েকটি লাইনের মাধ্যমে, সফটওয়্যার ডেভেলপাররা Word ডকুমেন্টের ভিতরে টেক্সট ও ছবি যোগ করতে পারেন। এখানে একটি সহজ উদাহরণ রয়েছে, যা দেখায় কীভাবে সফটওয়্যার ডেভেলপাররা ডকুমেন্টের বডি অ্যাক্সেস করে, একটি টেক্সট রানসহ প্যারাগ্রাফ যোগ করে, ফরম্যাটিং প্রয়োগ করে এবং ফাইল সংরক্ষণ করে।

Java API দিয়ে কীভাবে Word ডকুমেন্ট তৈরি করা এবং টেক্সট প্যারা যোগ করা যায়?

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 API দিয়ে Word ডকুমেন্টে টেক্সট ফরম্যাটিং কীভাবে প্রয়োগ করবেন?

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')

Java দিয়ে Word ফাইলে ডেটা টেবিল তৈরি করা

টেবিলসমূহ গঠিত তথ্য উপস্থাপনের জন্য অত্যাবশ্যক। OpenXml::Docx লাইব্রেরি সফটওয়্যার ডেভেলপারদেরকে জাভা অ্যাপ্লিকেশনগুলির মধ্যে সঠিকভাবে ডেটা ম্যানেজ করার জন্য Word ডকুমেন্টে টেবিল তৈরি করা সহজ করে দেয়। এখানে একটি ব্যবহারিক উদাহরণ রয়েছে, যা বোল্ড হেডার রো এবং তিনটি ডেটা রো সহ একটি পেশাদার সেলস টেবিল তৈরি করে। কোডটি কীভাবে নির্দিষ্ট সেলগুলোতে অ্যাক্সেস করে এবং সেগুলোকে কন্টেন্ট দিয়ে পূরণ করতে হয় তা প্রদর্শন করে। আপনি ডেটা স্ট্রাকচারগুলির মাধ্যমে ইটারেট করে ডাইনামিকভাবে টেবিলগুলো পূরণ করতে পারেন, যা রিপোর্ট জেনারেশনের জন্য আদর্শ।

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 লাইব্রেরি ব্যবহার করে স্বয়ংক্রিয়ভাবে মাসিক রিপোর্ট, আর্থিক বিবরণী বা বিশ্লেষণ সংক্ষিপ্তসার তৈরি করতে পারে। ডাটাবেস থেকে ডেটা টেনে তা পেশাদার ডকুমেন্টে ফরম্যাট করে, সংস্থাগুলি অনিয়ন্ত্রিত কাজের ঘণ্টা সংরক্ষণ করে। এছাড়া, ই-কমার্স প্ল্যাটফর্ম ও সেবা ব্যবসা ডাইনামিকভাবে ইনভয়েস ও চুক্তি তৈরি করতে পারে। গ্রাহক তথ্য, লাইন আইটেম এবং শর্তাবলি ডাটাবেস থেকে পূরণ হয়ে সব ডকুমেন্টে যথার্থতা ও সামঞ্জস্য নিশ্চিত করে।

 বাংলা