RUBY обычный текст в Docx с определенным форматированием - PullRequest
0 голосов
/ 01 мая 2018

Мне регулярно приходится создавать текстовые документы, которые довольно стандартны. Содержимое меняется в зависимости от определенных параметров, но это всегда смесь заранее написанного материала. Поэтому я решил написать некоторый код ruby, чтобы сделать это более легко, и он очень хорошо работает при создании txt-файла с окончательным текстом, который мне нужен.

Проблема в том, что мне нужно преобразовать этот текст в .docx и с определенным форматированием. Итак, я пытаюсь найти способ указать в текстовом файле, какой текст должен быть выделен жирным шрифтом, курсивом, иметь разные отступы или быть сноской, чтобы его было легко интерпретировать (как это делает html). Например:

<b> этот текст должен быть выделен жирным шрифтом </b>
\t отступ работает с вкладками
<i> надеюсь, это может быть курсив </i>
<f> и я бы хотел, чтобы это была сноска предыдущей фразы </f>

Однако я не смог этого сделать.

Кто-нибудь знает, как этого можно достичь? Я читал о макросах и pandoc, но мне не повезло в достижении этого. Кажется слишком сложным для макросов. Может быть, то, что я пытаюсь, не самый лучший способ. Возможно, с помощью LaTeX или создания HTML, а затем преобразования в слово? Может ли HTML создавать сноски? (это кажется самым сложным)

Понятия не имею, я только что изучил Ruby с помощью видеоурока, поэтому мои знания очень ограничены.

Спасибо всем!

РЕДАКТИРОВАТЬ: Ответ Арджуна решил почти всю проблему, но камень, который он указал, не включает в себя функциональность сносок, которые, к сожалению, составляют большую часть моих документов. Так что, если кто-то знает драгоценность, которая делает, будет принята с благодарностью. Спасибо!

1 Ответ

0 голосов
/ 01 мая 2018

Ааа, Руби получил за это драгоценные камни;)
https://github.com/trade-informatics/caracal

Это поможет вам написать документы из самого кода Ruby.

Из файла Readme

docx.p 'this text should be bold' do
  style          'custom_style'    # sets the paragraph style. generally used at the exclusion of other attributes.
  align          :left             # sets the alignment. accepts :left, :center, :right, and :both.
  color          '333333'          # sets the font color.
  size           32                # sets the font size. units in 1/2 points.
  bold           true              # sets whether or not to render the text with a bold weight.
  italic         false             # sets whether or not render the text in italic style.
  underline      false             # sets whether or not to underline the text.
  bgcolor        'cccccc'          # sets the background color.
  vertical_align 'superscript'     # sets the vertical alignment.
end

Существует также этот драгоценный камень, https://github.com/nickfrandsen/htmltoword,, который преобразует обычный HTML в файлы документов. Хотя я не пробовал.

...