Skip to content

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

Bắt đầu với docxi: tài liệu Word đầu tiên của bạn bằng Ruby

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.

1. Cài đặt gem

gem install docxi

Trong 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.

2. Tạo tài liệu

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.

3. Mỗi dòng làm gì

  • Docxi::Document.new tạo một tài liệu trống với lề trang mặc định.
  • word.document là phần thân của tài liệu. Mọi thứ bạn thêm vào đều đi qua đây.
  • document.p thêm một đoạn văn. Các tùy chọn truyền cho p, chẳng hạn align:, áp dụng cho đoạn văn và cho văn bản bên trong.
  • p.text thêm một run văn bản. size: tính bằng point.
  • word.render dựng gói .docx và trả về một StringIO. Thuộc tính .string của đối tượng này chứa các byte của tệp.

4. Thêm danh sách và bảng

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: true giữ 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.

5. Tiếp theo nên đọc gì

  • 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

← Trang chủ wiki · README

Clone this wiki locally