如何输出带有粗体和彩色文本的.doc文件



我需要将文本输出到.doc文件中。我目前只是像往常一样输出到文件并在文件名末尾使用.doc

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

问题是我想使一些文本变红和粗体。如何实现这一点?我正在使用 ruby,但由于 rvm 的惊人之处,我可以轻松切换到 jruby,所以如果有 Java 库,那也很棒。

简短

的回答:使用.rtf,然后使用word或open office转换为.doc。以下.rtf文件(写入"普通文本红色文本更普通文本",并为红色文本着色和加粗):

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;\red255\green0\blue0;} \margl1440\margr1440\vieww13280\viewh10420\viewkind0 \pard

\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是一种基本的文件格式,具有您想要的功能,并且很容易使用 MSWORD 或 Open Office 转换为.doc。.rtf的优势在于它是人类可读的。因此,您可以编写带有红色文本的 rtf 文件,将其重命名.txt并在文本编辑器中打开,看看红色字体添加了哪些"装饰"。使用参数

如果您好奇,可以在此处找到完整的.rtf规格:http://www.biblioscape.com/rtf15_spec.htm

顶部的垃圾是什么?那是标题的东西。幸运的是,您无需添加更多标题材料即可添加更多文本。

最新更新