Безкоштовна бібліотека Ruby для створення Word документів з HTML
Відкрита Ruby API, яка дозволяє розробникам створювати документи MS Word DOCX з простих HTML файлів. Легко генеруйте динамічні звіти та форми.
Що таке OpenXml::Docx?
Документи Microsoft Word стали стандартом ділового спілкування, звітності та документації в різних галузях. Хоча ручне створення документів підходить для невеликих завдань, автоматизація генерації документів стає необхідною при роботі з шаблонами, масовими операціями або динамічним контентом. Саме тут у справу вступає OpenXml::Docx — Ruby‑бібліотека, яка дає змогу розробникам програмно створювати професійні Word документи. Бібліотека працює там, де працює Ruby, без зовнішніх залежностей. Серед важливих функцій бібліотеки — створення нових Word документів, застосування форматування і стилізації тексту, таблиці та представлення даних, інтеграція зображень і медіа тощо.
OpenXml::Docx — це Ruby‑gem, який надає чистий і інтуїтивний інтерфейс для генерації Word документів у форматі Open XML (розширення .docx, яке ми всі знаємо). На відміну від громіздких рішень, що вимагають встановлення Microsoft Office, ця бібліотека працює автономно, створюючи документи з нуля за допомогою чистого Ruby‑коду. Вона відповідає стандарту Office Open XML, забезпечуючи сумісність з Microsoft Word, Google Docs, LibreOffice та іншими сучасними текстовими процесорами. Бібліотека орієнтована на простоту та зрозумілість, роблячи генерацію документів доступною навіть для розробників, які не знайомі зі складною XML‑структурою Word документів. Замість боротьби з XML‑просторами і схемами, ви можете писати простий Ruby‑код, який відчувається природньо і підтримувано.
Початок роботи з OpenXml::Docx
Рекомендований спосіб встановлення OpenXml::Docx — використання RubyGems. Будь ласка, скористайтеся наступною командою для плавного встановлення.
Встановлення OpenXml::Docx через RubyGems
gem install openxml-docxYou can also download it directly from GitHub.Створення вашого першого DOCX документу
Відкрита бібліотека OpenXml::Docx включає повну підтримку створення та керування новими Word документами в Java‑застосунках. Основним будівельним блоком Word документа є абзац. За допомогою кількох рядків коду розробники можуть додавати текст і зображення в Word документи. Ось простий приклад, який демонструє, як розробники можуть отримати доступ до тіла документа, додати абзац з текстовим блоком, застосувати форматування та зберегти файл.
Як створити Word документ і додати абзац з текстом за допомогою Java API?
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‑коду демонструє підкреслення, закреслення, виділення та комбінації кількох ефектів. Властивість кольору приймає HEX‑значення, що дозволяє точно відповідати кольорам бренд‑гайдів.
Як застосувати форматування тексту до Word документів за допомогою Java API?
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 для автоматичного створення щомісячних звітів, фінансових звітів або аналітичних підсумків. Завдяки отриманню даних з баз даних і їхньому форматуванню у професійні документи, організації економлять безліч годин ручної праці. Крім того, платформи електронної комерції та сервісні компанії можуть динамічно генерувати рахунки-фактури та контракти. Інформація про клієнтів, позиції та умови можуть заповнюватися з баз даних, забезпечуючи точність і послідовність у всіх документах.