Repository navigation
Getting Started ru
English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt
Это руководство проведёт вас от пустой папки до отформатированного файла .docx. Предполагается, что вы знаете основы Ruby. Rails и Microsoft Word не нужны.
gem install docxiЕсли в проекте есть Gemfile, вместо этого добавьте gem "docxi", "~> 0.1" и выполните bundle install. Подробности — на странице Установка.
Сохраните этот код в файл hello.rb:
require "docxi"
word = Docxi::Document.new
document = word.document
document.p(align: "center") do |p|
p.text "Hello, Word", size: 24, bold: true
end
File.binwrite("hello.docx", word.render.string)Выполните ruby hello.rb (или bundle exec ruby hello.rb в проекте с Bundler) и откройте hello.docx.
-
Docxi::Document.newсоздаёт пустой документ с полями страницы по умолчанию. -
word.document— это тело документа. Всё, что вы добавляете, проходит через него. -
document.pдобавляет абзац. Параметры, переданные вp, напримерalign:, применяются к абзацу и к тексту внутри него. -
p.textдобавляет фрагмент текста (run).size:задаётся в пунктах. -
word.renderсобирает пакет.docxи возвращаетStringIO. Его.stringсодержит байты файла.
require "docxi"
word = Docxi::Document.new
document = word.document
document.p { |p| p.text "Quarterly summary", size: 16, bold: true }
document.p do |p|
p.text "Revenue grew ", space: true
p.text "12%", bold: true, color: "007A33"
p.text " compared with last quarter.", space: true
end
document.p(ul: true) { |p| p.text "New customers: 48" }
document.p(ul: true) { |p| p.text "Customers lost: 3" }
document.table(columns_width: [200, 100]) do |table|
table.tr(fill: "D9D9D9", bold: true) do |tr|
tr.tc { |tc| tc.text "Region" }
tr.tc { |tc| tc.text "Sales" }
end
table.tr do |tr|
tr.tc { |tc| tc.text "North" }
tr.tc { |tc| tc.text "$41,000", align: "right" }
end
end
File.binwrite("summary.docx", word.render.string)Обратите внимание на две вещи:
-
space: trueсохраняет пробел в начале или в конце фрагмента. Без этого параметра Word удаляет пробел, и слова сливаются. - Параметры
trприменяются к каждой ячейке строки, поэтому вся строка заголовка получает заливку и полужирное начертание.
- Примеры использования: полные рецепты для отчётов, счетов и писем
- Возможности: все параметры абзацев, текста, таблиц, изображений и колонтитулов
- Интеграции: отправка документа из контроллера Rails
- Рекомендации: как заранее избежать типичных сюрпризов
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages