1. Produkti
  2.   Tekstapstrāde
  3.   Ruby
  4.   Ruby-Docx-Templater
 
  

Izveidojiet dinamiskus Word failus no veidnes, izmantojot bezmaksas Ruby API

Vadoša atvērtā koda Ruby bibliotēka, kas paredzēta dinamisku Microsoft Word (.docx) dokumentu izveidei no iepriekš izveidotām veidnēm.

Kas ir Ruby-Docx-Templater?

Dinamisku Microsoft Word dokumentu (.docx) ģenerēšana no Ruby lietojumprogrammas var būt pārsteidzoši sarežģīta. Jums var būt nepieciešams ģenerēt pārskatus, rēķinus vai vēstules, ko izveidojuši ne‑tehniski lietotāji. Lai gan ir daudz risinājumu, tie bieži prasa smagas atkarības, piemēram, LibreOffice vai lokālas Word instalācijas. Šeit ir Ruby-Docx-Templater, viegla gem, kas pieņem atšķirīgu pieeju. Tas ļauj lietotājiem izmantot standarta .docx failu kā veidni, pilnīgi manipulējot ar to atmiņā, lai ievietotu datus. Tas padara to par ātru, drošu un izvietošanai draudzīgu iespēju ikvienam Ruby izstrādātājam.

Bibliotēkas pamatā Ruby-Docx-Templater ir veidņu dzinējs, kas īpaši paredzēts .docx failiem. Tas ir viegls, jaudīgs Ruby gem, kas paredzēts dinamisku Microsoft Word (.docx) dokumentu izveidei no iepriekš izveidotām veidnēm. Tas darbojas, izmantojot vienkāršu tagu balstītu sistēmu standarta Word dokumentā. Jūs izveidojat veidni Word, novietojat īpašus tagus tur, kur vēlaties parādīt dinamisku saturu, un ļaujat gemam aizstāt šos tagus ar faktiskiem datiem no jūsu Ruby lietojumprogrammas. Tā atmiņā balstītā apstrāde, atbalsts sarežģītām tabulu struktūrām un formatējuma saglabāšana padara to par ideālu risinājumu biznesa dokumentu automatizēšanai.

Previous Next

Sākums ar Ruby-Docx-Templater

Ieteicamais veids, kā instalēt Ruby-Docx-Templater, ir izmantot RubyGems. Lūdzu, izmantojiet šādu komandu, lai veiktu vienkāršu instalēšanu.

Instalējiet Ruby-Docx-Templater caur RubyGems

 gem install ruby-docx-templater 

Instalējiet Ruby-Docx-Templater caur GitHub

 git clone https://github.com/jawspeak/ruby-docx-templater.git 
You can also download it directly from GitHub.

Izveidot Word Docx failu no veidnes, izmantojot Ruby

Pats pamata Ruby-Docx-Templater funkcija ir vienkārša teksta aizvietošana. Jūs varat novietot vietturus jebkurā Word dokumentā, un bibliotēka tos aizstās ar faktiskām vērtībām. Šīs pieejas skaistums ir tas, ka formatējums tiek saglabāts. Ja veidnē izveidojat $COMPANY_NAME$ treknu un sarkanu, tas saglabāsies trekns un sarkans izvadē. Tas nodrošina dizaineriem pilnīgu kontroli pār dokumenta izskatu. Jūsu Word veidnē atslēgas definējat, izmantojot $KEY$ sintaksi. Dolāri kalpo kā atdalītāji, skaidri norādot, kur jāveic aizvietojumi.

Izveidot Word Docx failu, izmantojot veidnes failu, caur Ruby?

require 'docx_templater'

# Load your template file
doc = DocxTemplater::TemplateProcessor.new('invoice_template.docx')

# Define your data as a hash
data = {
  'COMPANY_NAME' => 'Acme Corporation',
  'INVOICE_NUMBER' => 'INV-2024-001',
  'INVOICE_DATE' => '2024-11-04',
  'CLIENT_NAME' => 'John Smith',
  'TOTAL_AMOUNT' => '$1,250.00'
}

# Render the document with your data
doc.render(data)

# Save the output
doc.save('output_invoice.docx')

Vairāku rindu tabulu cilpu atbalsts

Viena no spēcīgākajām funkcijām ir spēja ģenerēt dinamiskas tabulas ar vairākām rindām. Tas ir būtiski, lai izveidotu detalizētus sarakstus rēķinos, produktu katalogos vai jebkurā pārskatā ar atkārtojošiem datiem. Jūs definējat cikla reģionu savā tabulā, un bibliotēka katram datu masīva elementam dublēs visu starp šīm iezīmēm. Jūs varat formatēt katru šūnu atsevišķi Word. Piemēram, varat izlīdzināt skaitļus pa labi, izcelt virsrakstus treknrakstā vai izmantot konkrētus fontus. Visi formatējumi tiks saglabāti ģenerētajās rindās.

Kā izveidot produktu pārskatu ar vairākām rindām Docx formātos, izmantojot Ruby bibliotēku?

require 'docx_templater'

doc = DocxTemplater::TemplateProcessor.new('product_report.docx')

# Define items as an array of hashes
data = {
  'REPORT_TITLE' => 'Monthly Sales Report',
  'REPORT_DATE' => 'November 2024',
  'ITEMS_LIST' => [
    {
      'PRODUCT_NAME' => 'Laptop Pro 15"',
      'QUANTITY' => '5',
      'UNIT_PRICE' => '$1,200.00',
      'TOTAL' => '$6,000.00'
    },
    {
      'PRODUCT_NAME' => 'Wireless Mouse',
      'QUANTITY' => '12',
      'UNIT_PRICE' => '$25.00',
      'TOTAL' => '$300.00'
    },
    {
      'PRODUCT_NAME' => 'USB-C Cable',
      'QUANTITY' => '20',
      'UNIT_PRICE' => '$15.00',
      'TOTAL' => '$300.00'
    }
  ]
}

doc.render(data)
doc.save('output_sales_report.docx')

Atmiņā balstīta apstrāde

Atvērtā koda Ruby-Docx-Templater bibliotēka ir ļoti viegli lietojama un atbalsta atmiņā balstītu apstrādi Ruby lietojumprogrammās. Visa dokumenta manipulācija notiek atmiņā, kas nozīmē, ka jūsu sensitīvie dati nekad nepieskaras failu sistēmai veidņu procesā. Tas ir būtiski lietojumprogrammām, kas apstrādā konfidenciālu informāciju, piemēram, medicīnas ierakstus, finanšu dokumentus vai personas datus.

Darbs ar Word XML

Viena unikāla Ruby-Docx-Templater īpašība ir tas, ka dažkārt ir jārediģē manuāli Word dokumenta pamatā esošais XML. Word bieži ievieto formatēšanas marķupus, kas var sadalīt jūsu veidņu atslēgas, bojājot aizvietošanas procesu. Kad Word ierakstat $CUSTOMER_NAME$, tas var izskatīties pareizi ekrānā, bet pamatā esošais XML var izskatīties šādi.

 Latviski