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.
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ę.
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
}