Repository navigation
Getting Started it
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
Questa guida ti porta da una cartella vuota a un file .docx formattato. Presuppone che tu conosca le basi di Ruby. Non ti servono né Rails né Microsoft Word.
gem install docxiIn un progetto con un Gemfile, aggiungi invece gem "docxi", "~> 0.1" ed esegui bundle install. Trovi i dettagli in Installazione.
Salva questo codice come 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)Esegui ruby hello.rb (oppure bundle exec ruby hello.rb in un progetto Bundler) e apri hello.docx.
-
Docxi::Document.newcrea un documento vuoto con i margini di pagina predefiniti. -
word.documentè il corpo del documento. Tutto ciò che aggiungi passa da lì. -
document.paggiunge un paragrafo. Le opzioni passate ap, comealign:, si applicano al paragrafo e al testo al suo interno. -
p.textaggiunge un frammento di testo (run).size:è espresso in punti. -
word.rendercostruisce il pacchetto.docxe restituisce unoStringIO. Il suo.stringcontiene i byte del file.
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)Due cose da notare:
-
space: trueconserva lo spazio all'inizio o alla fine di un frammento. Senza questa opzione Word elimina lo spazio e le parole si attaccano. - Le opzioni di
trsi applicano a ogni cella della riga, quindi l'intera riga di intestazione risulta ombreggiata e in grassetto.
- Esempi d'uso: ricette complete per report, fatture e lettere
- Funzionalità: tutte le opzioni per paragrafi, testo, tabelle, immagini, intestazioni e piè di pagina
- Integrazioni: inviare il documento da un controller Rails
- Buone pratiche: evitare in anticipo le sorprese più comuni
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages