Repository navigation
Best Practices 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
Kebiasaan-kebiasaan ini berasal langsung dari cara kerja docxi, dan sebagian besar mencegah masalah yang tercantum di Pemecahan masalah. Semuanya dikelompokkan per topik. Saran pengaturan halaman berlaku untuk semua orang, sedangkan saran keamanan dan kinerja paling penting untuk aplikasi produksi.
-
Berikan keempat margin sekaligus. Hash yang Anda berikan ke
Docxi::Document.newmenggantikan nilai bawaan, dan nilaitop,right,bottom, atauleftmana pun yang tidak Anda isi akan ditulis kosong. -
Atur header dan footer halaman pertama. docxi selalu menyalakan halaman pertama yang terpisah. Jika halaman 1 memerlukan header atau footer, panggil juga
add_first_headerdanadd_first_footer.
-
Gunakan
space: trueuntuk spasi di awal atau akhir. Jika tidak, Word membuangnya dan kata-kata dari dua run akan menempel. -
Taruh format bersama di paragraf. Opsi yang diberikan ke
p, sepertisize:ataufont:, berlaku untuk setiap run di dalamnya, sehingga lebih sedikit yang perlu diulang. -
Gunakan
p.bruntuk pemisah baris dandocument.br(page: true)untuk pemisah halaman.document.brtanpapage: truemenghasilkan XML yang tidak valid.
-
Atur batas pada baris atau sel, bukan pada tabel. Di 0.1.0,
borders:tingkat tabel diterapkan ke setiap sel, bukan ke tepi luar tabel. -
Berikan
columns_widthuntuk setiap kolom. Sel mengambil lebarnya dari situ, sehingga tabel mempertahankan tata letak yang Anda harapkan.
- Gunakan file PNG. Setiap gambar disimpan sebagai part PNG.
-
Atur ukuran gambar sebaris dengan
style:, misalnyastyle: { width: "120pt", height: "60pt" }. Hanya cara ini yang menghasilkan ukuran gambar sesuai harapan di 0.1.0. -
Berikan path, bukan
Fileyang sudah dibuka, jika dokumen mungkin dirender lebih dari sekali. Gambar IO dibaca selamarender, dan render kedua mendapatkan gambar kosong. -
Gambar header, gambar sel tabel, dan gambar berposisi sampai 0.2.0. Lebar dan tingginya sama-sama dihitung sebagai
width * height * 14.92EMU, sehingga hasilnya persegi. Untuk mendapatkan gambar persegi berukuranSinci, berikanwidthdanheightyang sama denganMath.sqrt(S * 914400 / 14.92).round, yaitu sekitar 248 untuk satu inci.
-
Jangan memberikan string yang tidak tepercaya ke
add_media. Path membuat docxi membaca file tersebut dari server Anda, dan URL membuat server Anda mengunduhnya. Berikan IO yang Anda buka sendiri, atau periksa nilainya terlebih dahulu. Lihat Keamanan. -
Teks di-escape secara otomatis. String yang diberikan ke
textditulis sebagai teks XML, sehingga input pengguna tidak bisa mengubah struktur dokumen.
-
Buat dokumen besar di job latar belakang. Seluruh dokumen disusun di memori saat Anda memanggil
render. Lihat Integrasi. -
Render sekali, lalu pakai ulang byte-nya. Simpan
word.render.stringjika Anda perlu mengirim atau menyimpan dokumen lebih dari sekali. -
Kunci versi yang kompatibel dengan
gem "docxi", "~> 0.1". -
Uji apa yang Anda hasilkan.
.docxadalah zip berisi file XML, jadi pengujian bisa mengekstraknya dan memeriksa XML-nya. Pengujian docxi sendiri bekerja dengan cara ini. Lihat Arsitektur.
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages