Atvērtā koda Ruby bibliotēka Word DOCX failu ģenerēšanai
Spēcīga bezmaksas Ruby API, kas ļauj izstrādātājiem viegli izveidot Word DOCX dokumentus. Ļauj izveidot dokumentu's Layout, Apply Styles, and Use Mail Merge Fields as Placeholders for Dynamic Content.
Kas ir Sablon bibliotēka?
Programmatūras izstrādes pasaulē dinamisku dokumentu ģenerēšana, piemēram, atskaites, rēķini vai vēstules, ir bieži pieprasīta. Lai gan daudzas bibliotēkas spēj izveidot dokumentus no jauna, tās bieži prasa lielu mācīšanās līmeni un laikietilpīgu kodēšanu, lai pareizi formatētu saturu. Šeit nāk palīgā Sablon, spēcīga atvērtā koda Ruby bibliotēka. Sablon revolucionizē dokumentu ģenerēšanu, izmantojot Microsoft Word pazīstamību un Ruby jaudu, ļaujot ar minimālu piepūli radīt sarežģītus un skaisti formatētus dokumentus. Tas atbalsta tādas funkcijas kā Word Docx izveide, satura ievietošana, izmantojot MailMerge laukus, uzlabota formatēšanas atbalsts, piezīmju pievienošana veidnēm, konfigurējama HTML & CSS pārveidošana un vēl daudz ko citu.
Sablon kodolā ir dokumenta veidņu procesors .docx failiem. Tas izmanto Word iebūvēto Mail Merge funkcionalitāti, ļaujot veidot veidnes pazīstamā vidē. Varat izstrādāt dokumenta izkārtojumu, lietot stilus un izmantot Mail Merge laukus kā vietturus dinamiskam saturam. Sablon tad ņem šo veidni un datu kontekstu (Ruby hašu) un izveido galīgo, datiem piepildīto Word dokumentu. Šī pieeja atdalīna prezentācijas slāni (Word veidni) no datu slāņa (jūsu Ruby kods), padarot dokumenta ģenerēšanas procesu skaidru un uzturamu. Tā sintakse ir intuitīva ikvienam, kas pazīst ar Ruby un veidņu valodām. Tā ir draudzīga dizaineriem, saturs un dizains ir pilnīgi atsevišķi. Dizaineri var strādāt tieši Word, nepieskaroties kodam.
Sablon sākšana
Ieteicamais veids, kā instalēt Sablon, ir izmantot RubyGems. Lūdzu, izmantojiet zemāk redzamo komandu, lai instalācija notiktu gludi.
Satura ievietošana ar Word laukiem, izmantojot Ruby
Vispārīgākā funkcija ir dinamiskā satura ievietošana. Atvērtā koda Ruby bibliotēka Sablon izmanto Word iebūvēto lauka sintaksi, lai definētu vietturus. Jūsu Word veidnē ievietojat lauka kodu tur, kur vēlaties parādīt dinamisku saturu. Sablon aizstās šo lauku ar jūsu vērtību. Tālākējais piemērs demonstrē, kā izstrādātāji var dinamiski ievietot saturu, lai sveicinātu lietotāju.
Kā dinamiski ievietot teksta saturu Word Docs failā, izmantojot 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.
HTML uz WordML konvertēšana
Viena no izcilākajām Sablon funkcijām ir spēja konvertēt HTML uz WordProcessingML (XML formāts, ko izmanto .docx faili). Tas ir ārkārtīgi noderīgi, ja jāievieto bagāts teksta saturs, piemēram, formatēti paragrāfi, saraksti vai tabulas, no datu bāzes vai bagāta teksta redaktora. Sablon pārvērš HTML virkni par pareizi formatētu sekciju Word dokumentā, saglabājot virsrakstus, treknrakstu, slīprakstu tekstu un sarakstu formatēšanu. Šeit ir vienkāršs piemērs, kas parāda, kā ielādēt esošu veidni un konvertēt HTML saturu uz Word Docx failu Ruby lietojumprogrammās.
Kā konvertēt HTML saturu Word Docx failā, izmantojot Ruby bibliotēku?
require "sablon"
template = Sablon.template(File.expand_path("template.docx"))
html_content = "Šī ir apakšvirsraksts
Šis ir paragrāfs ar treknrakstu un slīprakstu tekstu.
- Pirmais elements
- Otrais elements
"
context = {
article_content: Sablon.content(:html, html_content)
}
template.render_to_file(File.expand_path("output.docx"), context)
Conditional Rendering
Dinamisks attēlu ievietošana ar Ruby
Atvērtā koda Sablon bibliotēka ir iekļāvusi noderīgu funkciju dinamiski ievietot attēlus Word Docx dokumentos, izmantojot Ruby bibliotēku. Ar tikai pāris kodes rindām izstrādātāji var dinamiski ievietot attēlus jūsu dokumentos. Varat norādīt attēla failu, un Sablon to iekļaus dokumentā. Zemākējs piemērs demonstrē, kā sasniegt dinamisku attēlu ievietošanu Word dokumentos.
Kā dinamiski ievietot attēlu Word Docx, izmantojot Ruby bibliotēku?
// 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")
}
Nosacīts renderēšana ar Ruby
Sablon bibliotēka atbalsta nosacītos blokus, ļaujot lietotājiem parādīt vai paslēpt daļas no viņu Word dokumenta atkarībā no mainīgā esamības vai vērtības. Tas ir lieliski, lai pielāgotu dokumentus konkrētiem apstākļiem. Piemēram, nākamais piemērs rāda, kā lietotāji var iestatīt komandas, lai paslēptu vai parādītu konkrētu informāciju Word dokumentā. Ja show_extra_info ir patiesa, saturs starp if un endIf tagiem tiks iekļauts galīgajā dokumentā. Ja tas ir nepatiesas vai nil, saturs tiks noņemts.
Kā parādīt vai paslēpt Word Docx dokumenta daļas, izmantojot Ruby?
context = {
show_extra_info: true # or false
}