Dinamikus Word fájlok létrehozása sablonból ingyenes Ruby API-n keresztül
Vezető nyílt forráskódú Ruby könyvtár, amelyet dinamikus Microsoft Word (.docx) dokumentumok előre megtervezett sablonokból történő létrehozására terveztek.
Mi az Ruby-Docx-Templater?
Dinamikus Microsoft Word dokumentumok (.docx) generálása Ruby alkalmazásból meglepően összetett feladat lehet. Lehet, hogy jelentéseket, számlákat vagy leveleket kell létrehozni, amelyeket nem technikai felhasználók terveztek. Bár sok megoldás létezik, gyakran nehéz függőségeket igényelnek, mint a LibreOffice vagy helyi Word telepítések. Itt jön képbe a Ruby-Docx-Templater, egy könnyű gem, amely más megközelítést alkalmaz. Lehetővé teszi a felhasználók számára, hogy egy szabványos .docx fájlt használjanak sablonként, teljes egészében memóriában manipulálva az adatokat. Ez gyors, biztonságos és telepítésbarát lehetőséget kínál minden Ruby fejlesztőnek.
Alapvetően a Ruby-Docx-Templater könyvtár egy sablonmotor, amely kifejezetten .docx fájlokhoz készült. Ez egy könnyű, erőteljes Ruby gem, amely dinamikus Microsoft Word (.docx) dokumentumok létrehozását teszi lehetővé előre megtervezett sablonokból. Egy egyszerű címke-alapú rendszert használ egy szabványos Word dokumentumban. Létrehoz egy sablont Wordben, speciális címkéket helyez el azon a helyen, ahol a dinamikus tartalom megjelenik, majd a gem kicseréli ezeket a címkéket a Ruby alkalmazásból származó valós adatokra. Memóriában történő feldolgozása, összetett táblastruktúrák támogatása és a formázás megőrzése ideálissá teszi az üzleti dokumentum automatizáláshoz.
Az Ruby-Docx-Templater használatának megkezdése
A Ruby-Docx-Templater telepítésének ajánlott módja a RubyGems használata. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.
Ruby-Docx-Templater telepítése RubyGems-en keresztül
gem install ruby-docx-templater Ruby-Docx-Templater telepítése GitHub-on keresztül
git clone https://github.com/jawspeak/ruby-docx-templater.git You can also download it directly from GitHub.Word Docx fájl létrehozása sablonból Ruby-val
A Ruby-Docx-Templater legalkalmasabb funkciója az egyszerű szövegcserélés. Bármelyik helyen elhelyezhet helyőrzőket a Word dokumentumban, és a könyvtár a valós értékekkel fogja helyettesíteni őket. Ennek a megközelítésnek a szépsége, hogy a formázás megmarad. Ha a sablonban a $COMPANY_NAME$-t félkövérre és pirosra állítja, az a kimenetben is félkövér és piros marad. Ez a tervezőknek teljes irányítást ad a dokumentum megjelenése felett. A Word sablonban a kulcsokat a $KEY$ szintaxis használatával definiálja. A dollárjelek elválasztóként működnek, egyértelművé téve, hol történjenek a helyettesítések.
Word Docx fájl létrehozása sablonfájl használatával Ruby-val?
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')
Többsoros táblázatciklusok támogatása
Az egyik legerősebb funkció a képesség, hogy dinamikus, többsoros táblázatokat generáljon. Ez elengedhetetlen a számlákban, termékkatalógusokban vagy bármely ismétlődő adatot tartalmazó jelentésben szereplő tételes listák létrehozásához. Megad egy ciklusrészt a táblázatban, és a könyvtár megduplázza az összes elemet e jelölők között minden egyes adatbeli elemhez. A cellákat Wordben egyenként formázhatja. Például a számokat jobbra igazíthatja, a fejléceket félkövérre teheti, vagy egyedi betűtípusokat alkalmazhat. Minden formázás megmarad a generált sorokban.
Hogyan lehet termékjelentést létrehozni többsoros sorokkal Docx formátumban Ruby könyvtáron keresztül?
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')
Memóriában történő feldolgozás
A nyílt forráskódú Ruby-Docx-Templater könyvtár nagyon könnyen kezelhető, és memóriában történő feldolgozást támogat Ruby alkalmazásokban. Minden dokumentumművelet memóriában zajlik, ami azt jelenti, hogy az érzékeny adatok a sablonosítási folyamat során soha nem érintik a fájlrendszert. Ez kulcsfontosságú olyan alkalmazások számára, amelyek bizalmas információkkal dolgoznak, mint az orvosi feljegyzések, pénzügyi dokumentumok vagy személyes adatok.
Munka a Word XML-lel
A Ruby-Docx-Templater egyik egyedi vonása, hogy néha manuálisan kell szerkeszteni a Word dokumentum alatti XML-t. A Word gyakran beilleszt formázási jelöléseket, amelyek feloszthatják a sablonkulcsokat, így megszakítva a helyettesítési folyamatot. Amikor $CUSTOMER_NAME$-t ír be a Wordben, a képernyőn helyesen jelenhet meg, de az alatti XML így nézhet ki.