1. Produktai
  2.   Tekstų apdorojimas
  3.   Ruby
  4.   Ruby-Docx-Templater
 
  

Kurti dinamiškus Word failus iš šablono naudojant nemokamą Ruby API

Pavyzdinė atviro kodo Ruby biblioteka, skirta kurti dinamiškus Microsoft Word (.docx) dokumentus iš iš anksto paruoštų šablonų.

Kas yra Ruby-Docx-Templater?

Dinamiškų Microsoft Word dokumentų (.docx) generavimas iš Ruby programos gali būti netikėtai sudėtingas uždavinys. Galbūt reikės generuoti ataskaitas, sąskaitas faktūras ar laiškus, kuriuos sukūrė ne techniniai naudotojai. Nors daugelis sprendimų yra, jie dažnai reikalauja sunkių priklausomybių, pvz., LibreOffice arba vietinių Word įdiegtų sistemų. Štai įsijungia Ruby-Docx-Templater – supaprastinta gem, kuri pasirinkti kitokį požiūrį. Ji leidžia naudotojams naudoti standartinį .docx failą kaip šabloną, manipuliuojant juo visiškai atmintyje, norint įdėti duomenis. Tai padaro greitą, saugią ir patogią pasirinkimą bet kuriam Ruby kūrėjui.

Pagrindinis Ruby-Docx-Templater bibliotekos komponentas – tai šablonų variklis, sukurtas specialiai .docx failams. Tai yra supaprastinta, galinga Ruby gem, skirta sukurti dinamiškus Microsoft Word (.docx) dokumentus iš iš anksto paruoštų šablonų. Ji veikia naudojant paprastą žymių pagrindu veikiančią sistemą standartiniame Word dokumente. Jūs sukuriate šabloną Word programoje, patalpinę specialias žymes, kur norite, kad pasirodytų dinaminė turinys, tada leiskite gem pakeisti tas žymes realiais duomenimis iš jūsų Ruby programos. Jos atminties pagrindu veikiantis apdorojimas, sudėtingų lentelių struktūrų palaikymas ir formatavimo išsaugojimas daro ją idealia verslo dokumentų automatizavimui.

Previous Next

Ruby-Docx-Templater pradžia

Rekomenduojamas Ruby-Docx-Templater įdiegimo būdas – naudojant RubyGems. Prašome naudoti šią komandą, kad įdiegimas vyktų sklandžiai.

Įdiekite Ruby-Docx-Templater per RubyGems

 gem install ruby-docx-templater 

Įdiekite Ruby-Docx-Templater per GitHub

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

Kurti Word Docx failą iš šablono naudojant Ruby

Pagrindinis Ruby-Docx-Templater bruožas yra paprasta teksto pakeitimo funkcija. Jūs galite bet kur savo Word dokumente įdėti vietos rezervacijas, o biblioteka jas pakeis tikraisiais duomenimis. Šio požiūrio grožis – formatavimas išlieka. Jei šablone papildote $COMPANY_NAME$ riebų ir raudoną šriftu, išvestyje tai išliks taip pat. Tai suteikia dizaineriams visišką kontrolę dokumento išvaizdai. Word šablone raktus apibrėžiate naudojant $KEY$ sintaksę. Dolerio ženklai veikia kaip skyrikliai, aiškiai nurodydami, kur turėtų būti atliekami pakeitimai.

Kurti Word Docx failą naudojant šablono failą per 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')

Daugelio eilučių lentelių ciklų palaikymas

Vienas iš patraukliausių Ruby-Docx-Templater bruožų – galimybė generuoti dinamiškas lenteles su keliomis eilutėmis. Tai būtina kuriant prekių sąrašus sąskaitose-faktūrose, produktų kataloguose ar bet kurioje ataskaitoje, kur duomenys kartojasi. Jūs apibrėžiate ciklo regioną lentelėje, o biblioteka dubliuos viską tarp šių žymių kiekvienai duomenų masyvo elemento. Galite kiekvieną langelį formatuoti atskirai Word programoje. Pavyzdžiui, galbūt norite dešinėje lygiuoti skaičius, pavadinimus padaryti paryškintus arba naudoti specifinius šriftus. Visi formatavimai bus išsaugoti sukurtų eilučių metu.

Kaip sukurti prekių ataskaitą su keliais eilutėmis Docx formatu naudojant Ruby biblioteką?

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')

Atminties pagrindu veikianti apdorojimas

Ruby-Docx-Templater atviro kodo biblioteka labai paprasta tvarkyti ir palaiko atminties pagrindu veikiančią apdorojimą Ruby programose. Visa dokumentų manipuliacija vyksta atmintyje, todėl jūsų jautrūs duomenys niekada nesiliečia su failų sistema šablonų kūrimo proceso metu. Tai labai svarbu programoms, kurios tvarko konfidencialią informaciją, pavyzdžiui medicinos įrašus, finansinius dokumentus ar asmeninius duomenis.

Darbas su Word XML

Unikalus Ruby-Docx-Templater aspektas yra tas, kad kartais gali tekti rankiniu būdu redaguoti Word dokumento pagrindinį XML. Word dažnai įterpia formatavimo žymeklį, kuris gali suskaidyti jūsų šablono raktus, sugriuvant pakeitimo procesą. Kai įvesiate $CUSTOMER_NAME$ Word programoje, jis gali atrodyti korektiškai ekrane, tačiau pagrindinis XML gali atrodyti taip.

 Lietuvių