Open Source Ruby knihovna pro generování Word DOCX souborů

Výkonné bezplatné Ruby API, které umožňuje vývojářům snadno vytvářet Word DOCX dokumenty. Umožňuje navrhovat dokument.'s Layout, Apply Styles, and Use Mail Merge Fields as Placeholders for Dynamic Content.

Co je knihovna Sablon?

Ve světě vývoje softwaru je generování dynamických dokumentů jako jsou zprávy, faktury nebo dopisy běžnou potřebou. Zatímco mnoho knihoven umí vytvářet dokumenty od nuly, často jsou obtížně učitelné a vyžadují složité kódování, aby se dosáhlo správného formátování. Zde přichází na pomoc Sablon, výkonná open-source Ruby knihovna. Sablon revolučně mění tvorbu dokumentů tím, že využívá familiaritu Microsoft Word a sílu Ruby, což vám umožní vytvářet komplexní a krásně formátované dokumenty s minimálním úsilím. Podporuje tvorbu Word DOCX, vkládání obsahu pomocí MailMerge polí, pokročilé formátování, přidávání anotací do šablon, konfigurovatelnou konverzi HTML a CSS a mnoho dalšího.

V jádru je Sablon procesor šablon pro .docx soubory. Využívá vestavěnou funkci Mail Merge ve Wordu, což umožňuje vytvářet šablony v dobře známém prostředí. Můžete navrhnout rozložení dokumentu, použít styly a použít Mail Merge pole jako zástupné symboly pro dynamický obsah. Sablon pak tuto šablonu a kontext dat (Ruby hash) použije k vytvoření finálního Word dokumentu naplněného daty. Tento přístup odděluje prezentační vrstvu (Word šablonu) od datové vrstvy (váš Ruby kód), což zajišťuje čistý a udržovatelný proces tvorby dokumentu. Syntaxe je intuitivní pro každého, kdo zná Ruby a šablonovací jazyky. Je přívětivý pro designéry – obsah a design jsou zcela oddělené. Designéři mohou pracovat přímo ve Wordu, aniž by museli upravovat kód.

Previous Next

Začínáme s Sablon

Doporučený způsob instalace Sablon je pomocí RubyGems. Použijte následující příkaz pro hladkou instalaci.

Instalace dokumentace přes RubyGems


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

Vkládání obsahu pomocí Word polí přes Ruby

Nejzákladnější funkcí je vkládání dynamického obsahu. Open source Ruby knihovna Sablon používá vestavěnou syntaxi polí ve Wordu k definování zástupných symbolů. Ve vaší Word šabloně vložíte kód pole tam, kde chcete dynamický obsah. Sablon toto pole nahradí vaší hodnotou. Následující příklad demonstruje, jak vývojáři mohou dynamicky vložit část obsahu pro přivítání uživatele.

Jak dynamicky vložit textový obsah do Word dokumentu pomocí 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 do WordML konverze

Jednou z nejvýznamnějších funkcí Sablon je schopnost převádět HTML do WordProcessingML (XML formát používaný soubory .docx). To je neuvěřitelně užitečné, když potřebujete vložit bohatý textový obsah, jako jsou formátované odstavce, seznamy nebo tabulky z databáze nebo bohatého textového editoru. Sablon převede HTML řetězec do správně formátovaného oddílu ve Word dokumentu, zachová nadpisy, tučný a kurzivní text a formátování seznamů. Zde je jednoduchý příklad, který ukazuje, jak načíst existující šablonu a převést HTML obsah do Word DOCX souboru v Ruby aplikacích.

Jak převést HTML obsah do Word DOCX souboru pomocí Ruby knihovny?

require "sablon"

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

html_content = "

Toto je podnadpis

Toto je odstavec s tučným a kurzivním textem.

  • První položka
  • Druhá položka
" context = { article_content: Sablon.content(:html, html_content) } template.render_to_file(File.expand_path("output.docx"), context) Conditional Rendering

Dynamické vkládání obrázků přes Ruby

Open source knihovna Sablon obsahuje užitečnou funkci pro dynamické vkládání obrázků do Word DOCX dokumentů pomocí Ruby knihovny. Pouze několika řádky kódu mohou vývojáři dynamicky vkládat obrázky do svých dokumentů. Můžete specifikovat soubor s obrázkem a Sablon jej vloží do dokumentu. Následující příklad ukazuje, jak dosáhnout dynamického vkládání obrázků do Word dokumentů.

Jak dynamicky vložit obrázek do Word DOCX pomocí Ruby knihovny?


// 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")
}

Podmíněné renderování přes Ruby

Knihovna Sablon podporuje podmíněné bloky, které umožňují uživatelům zobrazit nebo skrýt části jejich Word dokumentu na základě přítomnosti nebo hodnoty proměnné. To je ideální pro přizpůsobení dokumentů podle specifických podmínek. Například následující příklad ukazuje, jak mohou uživatelé nastavit příkazy pro skrytí nebo zobrazení konkrétních informací ve Word dokumentu. Pokud je show_extra_info true, obsah mezi značkami if a endIf bude zahrnut do finálního dokumentu. Pokud je false nebo nil, obsah bude odstraněn.

Jak zobrazit nebo skrýt části Word DOCX dokumentu pomocí Ruby?


context = {
  show_extra_info: true # or false
}
 Čeština