Biblioteka Ruby Open Source do generowania plików Word DOCX

Potężne darmowe Ruby API, które umożliwia programistom łatwe tworzenie dokumentów Word DOCX. Umożliwia projektowanie dokumentu's Layout, Apply Styles, and Use Mail Merge Fields as Placeholders for Dynamic Content.

Czym jest biblioteka Sablon?

W świecie rozwoju oprogramowania generowanie dynamicznych dokumentów, takich jak raporty, faktury czy listy, jest powszechnym wymogiem. Choć wiele bibliotek potrafi tworzyć dokumenty od zera, często wymaga to stromej krzywej uczenia się i żmudnego kodowania, aby uzyskać odpowiednie formatowanie. Tu wkracza Sablon, potężna otwarto‑źródłowa biblioteka Ruby, która ratuje sytuację. Sablon rewolucjonizuje generowanie dokumentów, wykorzystując znajomość Microsoft Word oraz moc Rubiego, pozwalając na tworzenie złożonych i pięknie sformatowanych dokumentów przy minimalnym wysiłku. Obsługuje funkcje takie jak tworzenie Word Docx, wstawianie zawartości przy pomocy pól MailMerge, zaawansowane formatowanie, dodawanie adnotacji w szablonach, konfigurowalną konwersję HTML i CSS oraz wiele innych.

W swojej istocie Sablon jest procesorem szablonów dokumentów dla plików .docx. Wykorzystuje wbudowaną funkcję Mail Merge w Word, umożliwiając tworzenie szablonów w znanym środowisku. Możesz projektować układ dokumentu, stosować style i używać pól Mail Merge jako placeholderów dla dynamicznej zawartości. Sablon następnie przyjmuje ten szablon i kontekst danych (hash Ruby), aby wyprodukować finalny, wypełniony danymi dokument Word. To podejście oddziela warstwę prezentacji (szablon Word) od warstwy danych (kod Ruby), czyniąc proces generowania dokumentów czystym i łatwym w utrzymaniu. Składnia jest intuicyjna dla każdego zaznajomionego z Ruby i językami szablonów. Jest przyjazna projektantom – treść i projekt są całkowicie oddzielone. Projektanci mogą pracować bezpośrednio w Word bez konieczności dotykania kodu.

Previous Next

Rozpoczęcie pracy z Sablon

Zalecany sposób instalacji Sablon to użycie RubyGems. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.

Instaluj dokumentację via RubyGems


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

Wstawianie zawartości przy użyciu pól Word w Ruby

Podstawową funkcją jest wstawianie dynamicznej zawartości. Otwarta biblioteka Ruby Sablon używa wbudowanej składni pól Word do definiowania placeholderów. W szablonie Word wstawiasz kod pola tam, gdzie ma pojawić się dynamiczna zawartość. Sablon zastąpi to pole Twoją wartością. Poniższy przykład pokazuje, jak programiści mogą dynamicznie wstawiać fragment treści, aby przywitać użytkownika.

Jak dynamicznie wstawiać treść tekstową do pliku Word Docs przy pomocy 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.

Konwersja HTML do WordML

Jedną z wyróżniających się funkcji Sablon jest zdolność konwersji HTML do WordProcessingML (format XML używany przez pliki .docx). Jest to niezwykle przydatne, gdy musisz wstawić bogatą treść tekstową, taką jak sformatowane akapity, listy lub tabele, z bazy danych lub edytora rich‑text. Sablon przekształci ciąg HTML w prawidłowo sformatowaną sekcję w dokumencie Word, zachowując nagłówki, pogrubiony i pochylony tekst oraz formatowanie list. Oto prosty przykład, który demonstruje, jak załadować istniejący szablon i przekształcić treść HTML w plik Word Docx w aplikacjach Ruby.

Jak konwertować treść HTML do pliku Word Docx przy pomocy biblioteki Ruby?

require "sablon"

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

html_content = "

To jest podtytuł

To jest akapit z pogrubionym i pochylonym tekstem.

  • Pierwszy element
  • Drugi element
" context = { article_content: Sablon.content(:html, html_content) } template.render_to_file(File.expand_path("output.docx"), context) Conditional Rendering

Dynamiczne wstawianie obrazu w Ruby

Otwarta biblioteka Sablon zawiera przydatną funkcję dynamicznego wstawiania obrazu do dokumentów Word Docx przy użyciu biblioteki Ruby. Dzięki kilku linijkom kodu programiści mogą dynamicznie wstawiać obrazy do dokumentów. Możesz określić plik obrazu, a Sablon osadzi go w dokumencie. Poniższy przykład pokazuje, jak osiągnąć dynamiczne wstawianie obrazu do dokumentów Word.

Jak dynamicznie wstawiać obraz do Word Docx przy pomocy biblioteki Ruby?


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

Warunkowe renderowanie w Ruby

Biblioteka Sablon obsługuje bloki warunkowe, pozwalając użytkownikom wyświetlać lub ukrywać części ich dokumentu Word w zależności od obecności lub wartości zmiennej. To idealne rozwiązanie do dostosowywania dokumentów pod konkretne warunki. Na przykład, poniższy przykład pokazuje, jak użytkownicy mogą ustawiać polecenia do ukrywania lub wyświetlania określonych informacji w dokumencie Word. Jeśli show_extra_info jest prawdziwe, zawartość pomiędzy tagami if i endIf zostanie uwzględniona w finalnym dokumencie. Jeśli jest fałszywe lub nil, zawartość zostanie usunięta.

Jak wyświetlać lub ukrywać części dokumentów Word Docx używając Ruby?


context = {
  show_extra_info: true # or false
}
 Polski