Repository navigation
Getting Started es
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
Esta guía te lleva de una carpeta vacía a un archivo .docx con formato. Se da por hecho que conoces lo básico de Ruby. No necesitas Rails ni Microsoft Word.
gem install docxiEn un proyecto con Gemfile, añade gem "docxi", "~> 0.1" y ejecuta bundle install en su lugar. Encontrarás los detalles en Instalación.
Guarda esto 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)Ejecuta ruby hello.rb (o bundle exec ruby hello.rb en un proyecto con Bundler) y abre hello.docx.
-
Docxi::Document.newcrea un documento vacío con los márgenes de página predeterminados. -
word.documentes el cuerpo del documento. Todo lo que añades pasa por él. -
document.pañade un párrafo. Las opciones que se pasan ap, comoalign:, se aplican al párrafo y al texto que contiene. -
p.textañade un fragmento de texto (un run).size:se expresa en puntos. -
word.renderconstruye el paquete.docxy devuelve unStringIO. Su.stringcontiene los bytes del archivo.
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)Dos cosas a tener en cuenta:
-
space: trueconserva el espacio al principio o al final de un fragmento. Sin esa opción, Word elimina el espacio y las palabras quedan pegadas. - Las opciones de
trse aplican a todas las celdas de esa fila, por eso toda la fila de encabezado queda sombreada y en negrita.
- Ejemplos de uso: recetas completas para informes, facturas y cartas
- Funciones: todas las opciones de párrafos, texto, tablas, imágenes, encabezados y pies de página
- Integraciones: enviar el documento desde un controlador de Rails
- Buenas prácticas: evita las sorpresas habituales antes de que ocurran
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages