Skip to content

Getting Started pt BR

Hammad Maqbool edited this page Oct 29, 2026 · 1 revision

English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt

Primeiros passos com o docxi: seu primeiro documento do Word em Ruby

Este guia leva você de uma pasta vazia até um arquivo .docx formatado. Ele parte do princípio de que você conhece o básico de Ruby. Você não precisa de Rails nem do Microsoft Word.

1. Instale a gem

gem install docxi

Em um projeto com Gemfile, adicione gem "docxi", "~> 0.1" e execute bundle install em vez disso. A página Instalação traz os detalhes.

2. Crie um documento

Salve isto como 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)

Execute ruby hello.rb (ou bundle exec ruby hello.rb em um projeto com Bundler) e abra hello.docx.

3. O que cada linha faz

  • Docxi::Document.new cria um documento vazio com as margens de página padrão.
  • word.document é o corpo do documento. Tudo o que você adiciona passa por ele.
  • document.p adiciona um parágrafo. As opções passadas para p, como align:, valem para o parágrafo e para o texto dentro dele.
  • p.text adiciona um trecho de texto (um run). size: é dado em pontos.
  • word.render monta o pacote .docx e retorna um StringIO. O .string dele contém os bytes do arquivo.

4. Adicione uma lista e uma tabela

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)

Dois pontos de atenção:

  • space: true mantém o espaço no início ou no fim de um trecho. Sem essa opção, o Word descarta o espaço e as palavras ficam grudadas.
  • As opções de tr valem para todas as células daquela linha, por isso a linha de cabeçalho inteira fica sombreada e em negrito.

5. Próximos passos

  • Exemplos de uso: receitas completas para relatórios, faturas e cartas
  • Recursos: todas as opções de parágrafos, texto, tabelas, imagens, cabeçalhos e rodapés
  • Integrações: enviar o documento a partir de um controller do Rails
  • Boas práticas: evite as surpresas mais comuns antes que aconteçam

← Início da wiki · README

Clone this wiki locally