Отворен код Ruby библиотека за генериране на Word DOCX файлове

Мощен безплатен Ruby API, който позволява на софтуерните разработчици да създават Word DOCX документи с лекота. Позволява проектиране на документа.'s Layout, Apply Styles, and Use Mail Merge Fields as Placeholders for Dynamic Content.

Какво е библиотеката Sablon?

В света на софтуерната разработка генерирането на динамични документи като отчети, фактури или писма е често изискване. Докато много библиотеки могат да създават документи от нулата, те често изискват крива на обучение и досадно кодиране, за да получат правилното форматиране. Тук на помощ идва Sablon, мощна отворена код Ruby библиотека. Sablon революционизира генерирането на документи, използвайки познатостта на Microsoft Word и мощта на Ruby, позволявайки ви да създавате сложни и красиво форматирани документи с минимални усилия. Тя поддържа функции като създаване на Word Docx, вмъкване на съдържание чрез MailMerge полета, разширена поддръжка на форматиране, добавяне на анотации в шаблони, конфигурируемо преобразуване на HTML & CSS и много други.

В основата си Sablon е процесор за шаблони на документи за .docx файлове. Той използва вградената функция за Mail Merge на Word, позволявайки ви да създавате шаблони в позната среда. Можете да проектирате оформлението на документа, да прилагате стилове и да използвате Mail Merge полета като заместители за динамично съдържание. Sablon след това взема този шаблон и контекст с данни (Ruby hash) за да произведе окончателен Word документ, попълнен с данни. Този подход отделя слоя за представяне (Word шаблона) от слоя за данни (вашият Ruby код), правейки процеса на генериране на документи чист и поддържим. Синтаксисът му е интуитивен за всеки, запознат с Ruby и шаблониращи езици. Е подходящ за дизайнери – съдържанието и дизайнът са напълно отделени. Дизайнерите могат директно в Word без да докосват код.

Previous Next

Започване с Sablon

Препоръчителният начин за инсталиране на Sablon е чрез RubyGems. Моля, използвайте следната команда за безпроблемна инсталация.

Инсталиране на документи чрез RubyGems


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

Вмъкване на съдържание с Word полета чрез Ruby

Най-основната функция е вмъкване на динамично съдържание. Отворен код Ruby библиотеката Sablon използва вградения синтаксис на полета в Word за дефиниране на заместители. Във вашия Word шаблон вмъквате код на поле, където искате динамично съдържание. Sablon ще замени това поле с вашата стойност. Следният пример показва как софтуерните разработчици могат динамично да вмъкнат съдържание, за да поздравят потребител.

Как да вмъкнете динамично текстово съдържание в Word документ чрез 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 към WordML

Една от отличителните функции на Sablon е способността му да конвертира HTML в WordProcessingML (XML форматът използван от .docx файлове). Това е изключително полезно, когато трябва да вмъкнете богато текстово съдържание, като форматирани абзаци, списъци или таблици, от база данни или богат текстов редактор. Sablon ще конвертира HTML низа в правилно форматиран раздел в Word документа, запазвайки заглавия, удебелен и курсивен текст и форматирането на списъци. Ето прост пример, който демонстрира как да заредите съществуващ шаблон и да конвертирате HTML съдържанието в Word Docx файл в Ruby приложения.

Как да конвертирате HTML съдържание в Word Docx файл чрез Ruby библиотека?

require "sablon"

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

html_content = "

Това е подзаглавие

Това е абзац с удебелен и курсивен текст.

  • Първи елемент
  • Втори елемент
" context = { article_content: Sablon.content(:html, html_content) } template.render_to_file(File.expand_path("output.docx"), context) Conditional Rendering

Динамично вмъкване на изображение чрез Ruby

Отворен код Sablon библиотеката включва полезна функция за динамично вмъкване на изображения в Word Docx документи, използвайки Ruby библиотека. С няколко реда код разработчиците могат динамично да вмъкнат изображения в документите си. Можете да посочите файл с изображение, а Sablon ще го вгради в документа. Следният пример демонстрира как да осъществите динамично вмъкване на изображение в Word документи.

Как да вмъкнете динамично изображение в Word Docx чрез 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")
}

Условно рендиране чрез Ruby

Sablon библиотеката поддържа условни блокове, позволяващи на потребителите да покажат или скрият части от техния Word документ в зависимост от наличието или стойността на променлива. Това е перфектно за персонализиране на документи според конкретни условия. Например следният пример показва как потребителите могат да зададат команди за скриване или показване на конкретна информация в Word документ. Ако show_extra_info е true, съдържанието между if и endIf етикетите ще бъде включено в крайния документ. Ако е false или nil, съдържанието ще бъде премахнато.

Как да покажете или скриете части от Word Docx документи, използвайки Ruby?


context = {
  show_extra_info: true # or false
}
 Български