Skip to content

Getting Started id

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

Memulai docxi: dokumen Word pertama Anda dengan Ruby

Panduan ini membawa Anda dari folder kosong sampai ke file .docx yang berformat. Panduan ini mengasumsikan Anda memahami dasar-dasar Ruby. Anda tidak memerlukan Rails atau Microsoft Word.

1. Pasang gem

gem install docxi

Di proyek yang memakai Gemfile, tambahkan gem "docxi", "~> 0.1" lalu jalankan bundle install sebagai gantinya. Detailnya ada di Instalasi.

2. Buat dokumen

Simpan kode berikut sebagai 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)

Jalankan ruby hello.rb (atau bundle exec ruby hello.rb di proyek Bundler), lalu buka hello.docx.

3. Fungsi setiap baris

  • Docxi::Document.new membuat dokumen kosong dengan margin halaman bawaan.
  • word.document adalah isi dokumen. Semua yang Anda tambahkan melewatinya.
  • document.p menambahkan paragraf. Opsi yang diberikan ke p, seperti align:, berlaku untuk paragraf dan teks di dalamnya.
  • p.text menambahkan satu run teks. size: dinyatakan dalam poin.
  • word.render menyusun paket .docx dan mengembalikan sebuah StringIO. .string miliknya berisi byte file tersebut.

4. Tambahkan daftar dan tabel

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)

Ada dua hal yang perlu diperhatikan:

  • space: true mempertahankan spasi di awal atau akhir sebuah run. Tanpa opsi ini, Word membuang spasi tersebut dan kata-kata jadi menyambung.
  • Opsi pada tr berlaku untuk setiap sel di baris itu, sehingga seluruh baris judul tabel diberi arsiran latar dan dicetak tebal.

5. Langkah selanjutnya

  • Contoh penggunaan: resep lengkap untuk laporan, faktur, dan surat
  • Fitur: semua opsi untuk paragraf, teks, tabel, gambar, header, dan footer
  • Integrasi: mengirim dokumen dari controller Rails
  • Praktik terbaik: menghindari kejutan umum sebelum terjadi

← Beranda wiki · README

Clone this wiki locally