Perpustakaan Ruby Open Source untuk Menghasilkan File DOCX Word
API Ruby Gratis yang Kuat yang Memungkinkan Pengembang Perangkat Lunak Membuat Dokumen Word DOCX dengan mudah. Memungkinkan Merancang Dokumen's Layout, Apply Styles, and Use Mail Merge Fields as Placeholders for Dynamic Content.
Apa itu Perpustakaan Sablon?
Di dunia pengembangan perangkat lunak, menghasilkan dokumen dinamis seperti laporan, faktur, atau surat merupakan kebutuhan umum. Meskipun banyak perpustakaan dapat membuat dokumen dari awal, mereka sering memerlukan kurva belajar yang curam dan pengkodean yang melelahkan untuk mendapatkan format yang tepat. Di sinilah Sablon, perpustakaan Ruby open-source yang kuat, datang menolong. Sablon merevolusi pembuatan dokumen dengan memanfaatkan familiaritas Microsoft Word dan kekuatan Ruby, memungkinkan Anda membuat dokumen yang kompleks dan indah terformat dengan usaha minimal. Ia mendukung fitur seperti pembuatan Word Docx, penyisipan konten via bidang MailMerge, dukungan format lanjutan, penambahan anotasi dalam templat, konversi HTML & CSS yang dapat dikonfigurasi, dan banyak lagi.
Pada intinya, Sablon adalah pemroses templat dokumen untuk file .docx. Ia memanfaatkan fungsi Mail Merge bawaan Word, memungkinkan Anda membuat templat dalam lingkungan yang familiar. Anda dapat merancang tata letak dokumen, menerapkan gaya, dan menggunakan bidang Mail Merge sebagai placeholder untuk konten dinamis. Sablon kemudian mengambil templat ini dan konteks data (hash Ruby) untuk menghasilkan dokumen Word akhir yang terisi data. Pendekatan ini memisahkan lapisan presentasi (templat Word) dari lapisan data (kode Ruby Anda), membuat proses pembuatan dokumen bersih dan mudah dipelihara. Sintaksnya intuitif bagi siapa saja yang familiar dengan Ruby dan bahasa templating. Ini ramah desainer, konten dan desain sepenuhnya terpisah. Desainer dapat bekerja langsung di Word tanpa menyentuh kode.
Memulai dengan Sablon
Cara yang disarankan untuk menginstal Sablon adalah menggunakan RubyGems. Silakan gunakan perintah berikut untuk instalasi yang lancar.
Penyisipan Konten dengan Field Word via Ruby
Fungsi paling dasar adalah menyisipkan konten dinamis. Perpustakaan Ruby open source Sablon menggunakan sintaks bidang bawaan Word untuk mendefinisikan placeholder. Dalam templat Word Anda, Anda menyisipkan kode bidang di tempat Anda menginginkan konten dinamis. Sablon akan mengganti bidang ini dengan nilai Anda. Contoh berikut menunjukkan bagaimana pengembang perangkat lunak dapat secara dinamis menyisipkan potongan konten untuk menyapa pengguna.
Bagaimana Menyisipkan Konten Teks Dinamis ke File Word Docs via Ruby?
require 'sablon'
template = Sablon.template(File.expand_path('~/template.docx'))
context = {
name: "Sarah Connor"
}
template.render_to_file(File.expand_path('~/output.docx'), context)
Template:
Hello, «name»! Welcome to our platform.
Output:
Hello, Sarah Connor! Welcome to our platform.
Konversi HTML ke WordML
Salah satu fitur menonjol Sablon adalah kemampuannya mengonversi HTML menjadi WordProcessingML (format XML yang digunakan oleh file .docx). Ini sangat berguna ketika Anda perlu menyisipkan konten teks kaya, seperti paragraf berformat, daftar, atau tabel, dari basis data atau editor teks kaya. Sablon akan mengonversi string HTML menjadi bagian yang terformat dengan benar dalam dokumen Word, mempertahankan heading, teks tebal dan miring, serta format daftar. Berikut contoh sederhana yang menunjukkan cara memuat templat yang ada dan mengonversi konten HTML menjadi file Word Docx dalam aplikasi Ruby.
Bagaimana Mengonversi Konten HTML menjadi File Word Docx via Perpustakaan Ruby?
require "sablon"
template = Sablon.template(File.expand_path("template.docx"))
html_content = "Ini adalah Subjudul
Ini adalah paragraf dengan teks tebal dan miring.
- Item pertama
- Item kedua
"
context = {
article_content: Sablon.content(:html, html_content)
}
template.render_to_file(File.expand_path("output.docx"), context)
Conditional Rendering
Penyisipan Gambar Dinamis via Ruby
Perpustakaan Sablon open source telah menyertakan fitur berguna untuk menyisipkan gambar secara dinamis di dalam dokumen Word Docx menggunakan perpustakaan Ruby. Dengan hanya beberapa baris kode, pengembang dapat secara dinamis menyisipkan gambar ke dalam dokumen Anda. Anda dapat menentukan file gambar, dan Sablon akan menyematkannya dalam dokumen. Contoh berikut menunjukkan cara mencapai penyisipan gambar dinamis ke dalam dokumen Word.
Bagaimana Menyisipkan Gambar Dinamis ke Word Docx via Perpustakaan Ruby?
// You would have a placeholder image in your template with a special filename like «=company_logo».
context = {
company_logo: Sablon.content(:image, "path/to/your/logo.png")
}
Rendering Bersyarat via Ruby
Perpustakaan Sablon mendukung blok bersyarat, memungkinkan pengguna menampilkan atau menyembunyikan bagian dari dokumen Word mereka berdasarkan keberadaan atau nilai suatu variabel. Ini sempurna untuk menyesuaikan dokumen berdasarkan kondisi spesifik. Misalnya contoh berikut menunjukkan bagaimana pengguna dapat mengatur perintah untuk menyembunyikan atau menampilkan informasi tertentu di dalam dokumen Word. Jika show_extra_info bernilai true, konten antara tag if dan endIf akan disertakan dalam dokumen akhir. Jika false atau nil, konten akan dihapus.
Bagaimana Menampilkan atau Menyembunyikan Bagian Dokumen Word Docx menggunakan Ruby?
context = {
show_extra_info: true # or false
}