Perpustakaan Ruby Sumber Terbuka untuk Menjana Fail Word DOCX

API Ruby Percuma yang Kuat yang Membolehkan Pembangun Perisian Membuat Dokumen Word DOCX dengan mudah. Ia membolehkan Mereka Bentuk Dokumen's Layout, Apply Styles, and Use Mail Merge Fields as Placeholders for Dynamic Content.

Apakah Perpustakaan Sablon?

Dalam dunia pembangunan perisian, menjana dokumen dinamik seperti laporan, invois, atau surat adalah keperluan biasa. Walaupun banyak perpustakaan dapat membuat dokumen dari awal, mereka sering memerlukan keluk pembelajaran yang curam dan pengekodan yang membosankan untuk mendapatkan format yang tepat. Di sinilah Sablon, perpustakaan Ruby sumber terbuka yang kuat, datang membantu. Sablon merevolusikan penjanaan dokumen dengan memanfaatkan kebiasaan Microsoft Word dan kuasa Ruby, membolehkan anda membuat dokumen kompleks dan diformat indah dengan usaha minimum. Ia menyokong ciri-ciri seperti penciptaan Word Docx, Penyisipan kandungan melalui medan MailMerge, sokongan format lanjutan, penambahan anotasi dalam templat, penukaran HTML & CSS boleh dikonfigurasi dan banyak lagi.

Pada intinya, Sablon ialah pemproses templat dokumen untuk fail .docx. Ia menggunakan fungsi Mail Merge terbina dalam Word, membolehkan anda membuat templat dalam persekitaran yang familiar. Anda boleh mereka bentuk susun atur dokumen, menerapkan gaya, dan menggunakan medan Mail Merge sebagai tempat letak untuk kandungan dinamik. Sablon kemudian mengambil templat ini dan konteks data (hash Ruby) untuk menghasilkan dokumen Word akhir yang dipenuhi data. Pendekatan ini memisahkan lapisan persembahan (templat Word) daripada lapisan data (kod Ruby anda), menjadikan proses penjanaan dokumen bersih dan mudah diselenggara. Sintaksnya intuitif bagi sesiapa yang familiar dengan Ruby dan bahasa templat. Ia mesra pereka, kandungan dan reka bentuk dipisahkan sepenuhnya. Pereka boleh bekerja terus dalam Word tanpa menyentuh kod.

Previous Next

Mula Menggunakan Sablon

Cara yang disarankan untuk memasang Sablon ialah menggunakan RubyGems. Sila gunakan perintah berikut untuk pemasangan yang lancar.

Pasang Dokumen via RubyGems


gem 'sablon' 
You can also download it directly from GitHub.

Penyisipan Kandungan dengan Medan Word melalui Ruby

Fungsi paling asas ialah menyisipkan kandungan dinamik. Perpustakaan Ruby sumber terbuka Sablon menggunakan sintaks medan terbina dalam Word untuk mendefinisikan tempat letak. Dalam templat Word anda, anda menyisipkan kod medan, di mana anda mahu kandungan dinamik. Sablon akan menggantikan medan ini dengan nilai anda. Contoh berikut menunjukkan bagaimana pembangun perisian boleh menyisipkan kandungan secara dinamik untuk menyapa pengguna.

Bagaimana Menyisipkan Kandungan Teks Dinamik ke dalam Fail Dokumen Word 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.

Penukaran HTML ke WordML

Salah satu ciri utama Sablon ialah keupayaannya menukar HTML ke dalam WordProcessingML (format XML yang digunakan oleh fail .docx). Ini sangat berguna apabila anda perlu menyisipkan kandungan teks kaya, seperti perenggan berformat, senarai, atau jadual, dari pangkalan data atau penyunting teks kaya. Sablon akan menukar rentetan HTML menjadi bahagian yang diformat dengan betul dalam dokumen Word, mengekalkan tajuk, teks tebal dan condong, serta format senarai. Berikut ialah contoh mudah yang menunjukkan cara memuat templat sedia ada dan menukar kandungan HTML ke fail Word Docx dalam aplikasi Ruby.

Bagaimana Menukar Kandungan HTML ke dalam Fail Word Docx melalui Perpustakaan Ruby?

require "sablon"

template = Sablon.template(File.expand_path("template.docx"))

html_content = "

Ini adalah Subtajuk

Ini ialah perenggan dengan tebal dan condong teks.

  • 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 Imej Dinamik melalui Ruby

Perpustakaan Sablon sumber terbuka telah menyertakan ciri berguna untuk menyisipkan imej secara dinamik di dalam dokumen Word Docx menggunakan perpustakaan Ruby. Dengan hanya beberapa baris kod, pembangun boleh menyisipkan imej secara dinamik ke dalam dokumen anda. Anda boleh menentukan fail imej, dan Sablon akan menyematkannya dalam dokumen. Contoh berikut menunjukkan cara mencapai penyisipan imej dinamik ke dalam dokumen Word.

How to Dynamically Insert Image into Word Docx via Ruby Library?


// 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")
}

Penyampaian Bersyarat melalui Ruby

Perpustakaan Sablon menyokong blok bersyarat, membolehkan pengguna menunjukkan atau menyembunyikan bahagian dokumen Word mereka berdasarkan kehadiran atau nilai pembolehubah. Ini sempurna untuk menyesuaikan dokumen berdasarkan kondisi khusus. Sebagai contoh, contoh berikut menunjukkan bagaimana pengguna boleh menetapkan perintah untuk menyembunyikan atau menunjukkan maklumat tertentu dalam dokumen Word. Jika show_extra_info bernilai true, kandungan antara tag if dan endIf akan dimasukkan dalam dokumen akhir. Jika false atau nil, kandungan akan dibuang.

How to Display or Hide Parts of Word Docx Documents using Ruby?


context = {
  show_extra_info: true # or false
}
 Melayu