Как вывести .doc файлы с жирным и цветным текстом - PullRequest
1 голос
/ 16 мая 2011

Мне нужно вывести текст в файл .doc.В настоящее время я просто выводю в файл, как обычно, и использую .doc в конце имени файла

File.open('output_file.doc', 'a+') {|x| x.write(str)}

Проблема в том, что я хочу сделать часть текста красной исмелый.Как этого достичь?Я использую ruby, но я могу легко переключиться на jruby благодаря удивительной способности rvm, поэтому, если для этого есть java-библиотеки, это было бы замечательно.

1 Ответ

2 голосов
/ 16 мая 2011

Краткий ответ: используйте .rtf, а затем конвертируйте в .doc, используя word или open office. Следующий файл .rtf (записывает «обычный текст, красный текст, а не обычный текст.», А также окрашивает и выделяет красный текст жирным шрифтом):

{\ rtf1 \ ANSI \ ansicpg1252 \ cocoartf1038 \ cocoasubrtf350 {\ fonttbl \ f0 \ fswiss \ fcharset0 Helvetica;} {\ Colortbl; \ red255 \ green255 \ blue255; \ red255 \ green0 \ blue0;} \ Margl1440 \ margr1440 \ vieww13280 \ viewh10420 \ viewkind0 \ Пард \ tx720 \ tx1440 \ tx2160 \ tx2880 \ tx3600 \ tx4320 \ tx5040 \ tx5760 \ tx6480 \ tx7200 \ tx7920 \ tx8640 \ QL \ qnatural \ pardirnatural

\ f0 \ fs24 \ cf0 обычный текст \ b \ cf2 красный текст \ b0 \ cf0 более обычный текст.}

Длинный ответ:

Строки - это просто обычный текст ascii, поэтому нет команды, которая могла бы сделать их жирными. Это свойство всех файлов в целом, а не только то, как Ruby работает с файлами.

Текстовые редакторы используют ключевые строки в файле в качестве команд для визуализации текста определенным образом. Например, двойная звездочка окружает жирный текст в редакторе переполнения стека. формат файла файла определяет эти правила.

.rtf - это базовый формат файла, который обладает нужными вам функциями и его легко конвертировать в .doc с помощью msword или open office. Преимущество .rtf в том, что он удобочитаем. Таким образом, вы можете написать RTF-файл с красным текстом, переименовать его в .txt и открыть в текстовом редакторе и посмотреть, какие «украшения» добавлен красный шрифт. Тренировка с параметрами

Если вам интересно, полные спецификации .rtf можно найти здесь: http://www.biblioscape.com/rtf15_spec.htm

Что за фигня наверху? Это заголовок. К счастью, вам не нужно добавлять больше материала заголовка, чтобы добавить больше текста.

...