Бесплатная Ruby‑библиотека для создания Word‑документов из HTML
Ruby API с открытым исходным кодом, позволяющий разработчикам создавать документы MS Word DOCX из простых HTML‑файлов. Генерируйте динамические отчёты и формы с лёгкостью.
Что такое HTMLtoWord?
В быстро меняющемся мире разработки важны эффективность и простота. Генерация документов – распространённая задача, и при конвертации HTML‑контента в документы Microsoft Word разработчики часто ищут надёжные и простые решения. Здесь как раз и пригодится библиотека Ruby HTML – HTMLtoWord. У неё есть несколько важных функций, таких как быстрая конвертация HTML‑документа в Word, поддержка пользовательского стиля и форматирования, работа с изображениями, встроенными в HTML‑контент, рендеринг CSS‑стилей, поддержка подсветки текста, создание разрывов страниц и многое другое.
HTMLtoWord – библиотека Ruby, разработанная для беспроблемного преобразования HTML‑документов в формат Microsoft Word (.docx). Используя её возможности, специалисты могут упростить процесс создания богато оформленных Word‑документов из HTML‑контента, экономя время и усилия. Библиотека предлагает интуитивный и удобный API, легко интегрируемый в существующие проекты Ruby. Разработчики могут быстро приступить к работе, сэкономив ценное время и ресурсы.
Начало работы с HTMLtoWord
HTMLtoWord требует Ruby 2.5 или новее.
Установка документов через RubyGems
gem install openxml-docxYou can also download it directly from GitHub.Конвертация HTML в Word DOCX через Ruby
Рекомендуемый способ установки HTMLtoWord – использовать RubyGems. Пожалуйста, выполните следующую команду для плавной установки.
Как конвертировать HTML‑файл в документ Word Docx через Ruby 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')
Поддержка пользовательского стиля и форматирования
Библиотека с открытым исходным кодом HTMLtoWord включает полную поддержку конвертации HTML‑контента в документы Microsoft Word внутри Ruby‑приложений. Это надёжное и простое решение, предоставляющее один метод Htmltoword::Document.create, принимающий HTML‑строку как входные данные и возвращающий соответствующий Word‑документ. Следующий пример показывает, как разработчики могут создать файл Word DOCX из HTML‑файла в Ruby‑приложении.
Как применить стили к таблице в приложениях Ruby?
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')
Обработка изображений при экспорте HTML в DOCX через Ruby
Hello, World!
How to Create a Table with Rows and Columns inside Java Apps?
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')
Automated Report & Invoice Generation
Одно из самых значимых преимуществ использования HTMLtoWord – способность сохранять богатый стиль и форматирование из исходного HTML. Будь то жирный текст, курсив, таблицы, изображения или другие элементы, библиотека гарантирует, что окончательный Word‑документ точно воспроизводит оригинальный HTML‑контент. Библиотека позволяет разработчикам контролировать внешний вид генерируемого Word‑документа, используя свойства CSS внутри HTML‑контента. Следующий пример демонстрирует, как применить стили к существующей таблице в приложениях Ruby.