Bibliotecă Ruby Open Source pentru Generarea de Fișiere Word DOCX

Un API Ruby gratuit și puternic care permite dezvoltatorilor să creeze documente Word DOCX cu ușurință. Permite proiectarea documentelor's Layout, Apply Styles, and Use Mail Merge Fields as Placeholders for Dynamic Content.

Ce este Biblioteca Sablon?

În lumea dezvoltării software, generarea de documente dinamice precum rapoarte, facturi sau scrisori este o cerință obișnuită. Deși multe biblioteci pot crea documente de la zero, acestea implică adesea o curbă de învățare abruptă și codare laborioasă pentru a obține formatul corect. Aici intervine Sablon, o bibliotecă Ruby open-source puternică, care revoluționează generarea documentelor prin exploatarea familiarității cu Microsoft Word și puterea Ruby, permițând crearea de documente complexe și formatate frumos cu efort minim. Oferă funcționalități precum crearea de Word Docx, inserarea de conținut prin câmpuri MailMerge, suport avansat de formatare, adăugarea de adnotări în șabloane, conversie configurabilă HTML și CSS și multe altele.

În esență, Sablon este un procesor de șabloane pentru documente .docx. Folosește funcționalitatea încorporată de Mail Merge din Word, permițând crearea de șabloane într-un mediu familiar. Poți proiecta aspectul documentului, aplica stiluri și folosi câmpuri Mail Merge ca placeholderi pentru conținut dinamic. Sablon ia apoi acest șablon și un context de date (un hash Ruby) pentru a produce un document Word final, populat cu date. Această abordare separă stratul de prezentare (șablonul Word) de stratul de date (codul Ruby), făcând procesul de generare a documentului curat și ușor de întreținut. Sintaxa sa este intuitivă pentru oricine familiar cu Ruby și limbajele de templating. Este prietenoasă cu designerii – conținutul și designul sunt complet separate. Designerii pot lucra direct în Word fără să atingă codul.

Previous Next

Începerea utilizării Sablon

Metoda recomandată pentru instalarea Sablon este prin RubyGems. Vă rugăm să folosiți comanda de mai jos pentru o instalare fără probleme.

Instalare Documentație prin RubyGems


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

Inserarea Conținutului cu Câmpuri Word prin Ruby

Funcția de bază este inserarea de conținut dinamic. Bibliotecă Ruby open source Sablon folosește sintaxa de câmp încorporată în Word pentru a defini placeholderi. În șablonul Word, inserați un cod de câmp acolo unde doriți conținut dinamic. Sablon va înlocui acest câmp cu valoarea dvs. Exemplul următor demonstrează cum dezvoltatorii pot insera dinamic un fragment de conținut pentru a întâmpina un utilizator.

Cum să inserezi dinamic texte în fișierul Word Docs prin 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.

Conversie HTML la WordML

Una dintre caracteristicile deosebite ale Sablon este capacitatea sa de a converti HTML în WordProcessingML (formatul XML folosit de fișierele .docx). Este extrem de util când trebuie să inserați conținut text bogat, cum ar fi paragrafe formatate, liste sau tabele, dintr-o bază de date sau un editor rich‑text. Sablon convertește șirul HTML într-o secțiune formatată corespunzător în documentul Word, păstrând titlurile, textul bold și italic și formatarea listelor. Iată un exemplu simplu care arată cum să încărcați un șablon existent și să convertiți conținutul HTML în fișierul Word Docx în aplicații Ruby.

Cum să convertești conținut HTML în fișier Word Docx prin Biblioteca Ruby?

require "sablon"

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

html_content = "

Acesta este un Subtitlu

Acesta este un paragraf cu îngroșat și cursiv.

  • Primul element
  • Al doilea element
" context = { article_content: Sablon.content(:html, html_content) } template.render_to_file(File.expand_path("output.docx"), context) Conditional Rendering

Inserare Dinamică a Imaginilor prin Ruby

Biblioteca open source Sablon include o funcție utilă pentru inserarea dinamică a imaginilor în documente Word Docx folosind biblioteca Ruby. Cu doar câteva linii de cod, dezvoltatorii pot insera dinamic imagini în documente. Puteți specifica un fișier imagine, iar Sablon îl va încorpora în document. Exemplul următor demonstrează cum să realizați inserarea dinamică a imaginilor în documentele Word.

Cum să inserezi dinamic imagini în Word Docx prin Biblioteca 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")
}

Redare Condițională prin Ruby

Biblioteca Sablon suportă blocuri condiționale, permițând utilizatorilor să afișeze sau să ascundă părți ale documentului Word în funcție de prezența sau valoarea unei variabile. Este perfect pentru personalizarea documentelor pe baza unor condiții specifice. De exemplu, următorul exemplu arată cum utilizatorii pot seta comenzi pentru a ascunde sau afișa informații specifice într-un document Word. Dacă show_extra_info este adevărat, conținutul dintre etichetele if și endIf va fi inclus în documentul final. Dacă este fals sau nil, conținutul va fi eliminat.

Cum să afișezi sau să ascunzi părți ale documentelor Word Docx folosind Ruby?


context = {
  show_extra_info: true # or false
}
 Română