Repository navigation
Getting Started vi
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
Hướng dẫn này đưa bạn từ một thư mục trống đến một tệp .docx đã định dạng. Hướng dẫn giả định bạn nắm được kiến thức Ruby cơ bản. Bạn không cần Rails hay Microsoft Word.
gem install docxiTrong dự án có Gemfile, hãy thêm gem "docxi", "~> 0.1" rồi chạy bundle install thay cho lệnh trên. Xem chi tiết tại Cài đặt.
Lưu đoạn mã sau thành 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)Chạy ruby hello.rb (hoặc bundle exec ruby hello.rb trong dự án dùng Bundler) rồi mở hello.docx.
-
Docxi::Document.newtạo một tài liệu trống với lề trang mặc định. -
word.documentlà phần thân của tài liệu. Mọi thứ bạn thêm vào đều đi qua đây. -
document.pthêm một đoạn văn. Các tùy chọn truyền chop, chẳng hạnalign:, áp dụng cho đoạn văn và cho văn bản bên trong. -
p.textthêm một run văn bản.size:tính bằng point. -
word.renderdựng gói.docxvà trả về mộtStringIO. Thuộc tính.stringcủa đối tượng này chứa các byte của tệp.
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)Có hai điều cần lưu ý:
-
space: truegiữ lại khoảng trắng ở đầu hoặc cuối một run. Nếu thiếu tùy chọn này, Word sẽ xóa khoảng trắng và các từ bị dính vào nhau. - Tùy chọn đặt trên
tráp dụng cho mọi ô trong hàng đó, nên toàn bộ hàng tiêu đề được tô bóng và in đậm.
- Ví dụ sử dụng: công thức hoàn chỉnh cho báo cáo, hóa đơn và thư
- Tính năng: mọi tùy chọn cho đoạn văn, văn bản, bảng, hình ảnh, đầu trang và chân trang
- Tích hợp: gửi tài liệu từ controller của Rails
- Thực hành tốt: tránh trước những bất ngờ thường gặp
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages