office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

RTF文件(富文本格式)的一些解析

2020-05-15 08:00:00
tmtony8
原創(chuàng)
19121

RTF是Rich TextFormat的縮寫,即為富文本格式。這是一種類似DOC格式(Word文檔)的文件,有很好的兼容性,使用Windows“附件”中的“寫字板”就能打開并進行編輯。RTF是一種非常流行的文件結構,很多文字編輯器都支持它。一般的格式設置,比如字體和段落設置,頁面設置等等信息都可以存在RTF格式中,它能在一定程度上實現word與wps文件之間的互訪。

Rtf規(guī)范最早是微軟編寫的關于多媒體存儲的一種文檔存儲格式,后來微軟把它開放出來,這樣就使得不同的應用程序、操作系統、顯示設備之間可以根據Rtf規(guī)范進行實現,最終使得同一個Rtf格式的文檔在不同的環(huán)境有相同的顯示效果。

1、RTF文件:使用7-bit ASCII字符格式存儲,文件沒有限制一行的最大長度。
RTF文件 = 組 + 控制字 + 控制符 + 文檔內容

2、控制字:管理文檔信息、文檔顯示格式的命令,一個控制字最長32個字符。
控制字 = \ + 字母序列 + 分隔符
例如:"\fc "代表字體顏色
字母序列 = a~z小寫字母中的一個或者多個字符
例如:"\fc "代表字體顏色
分隔符 = 空格 或者 數字 或者 空格和數字 (數字作為控制字的參數)
例如:"\b "代表加粗,"\b0 "代表不加粗
注意:任何非字母和數字的其他字符。這種情況下,此分隔字符結束控制字,而它并不屬于控制字的一部分。如果一個空格用于分隔控制字,該空格不會在文檔中出現。而任何跟隨該分隔符的字符,包括空格,將在文檔中出現。因此,你應該只在必要時使用空格,避免僅僅為了分割RTF代碼而使用空格。

3、控制符:控制符不需要分隔符
控制符 = \ + 非字母數字字符
例如 “\~”代表不換行空格。

4、組
組 = { 控制字 + 控制符 + 文檔內容 }
例如"{\b 這個代表加粗}"會將"這個代表加粗"內容進行加粗
注意:一個組的格式描述只影響組內的文本。通常,一個組中的文本繼承前一組的文本格式。但微軟的RTF約定,對于腳注、注解、頭和尾的組(本章稍后描述)不繼承前一組的文本格式。因此, 請確定這些組總能正確格式化,正確做法是用\sectd, \pard和\plain控制字將組中的格式設為默認值,然后再增加任何需要的格式。
\sectd : 重新設置為默認的節(jié)屬性
\pard:重置為默認段落屬性
\plain: 重新設定字型(字符)格式化屬性為應用程序定義的默認值(例如,粗體、下劃線、斜體被禁止;字體大小被重新設定為12磅point)。關聯字體(字符)格式化屬性也被重新設定。


{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
{\colortbl ;\red255\green255\blue0;\red255\green0\blue0;\red0\green0\blue255;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs20 Osamu\cf2  Naga\cf0 y\cf3 am\cf0 a,\par
           was unable to pinpoint.//PRD#\cf1 OQS\par
it \cf0 signed a \cf1 definitive\cf0  agreement\par
\par
}


其中:
rtf1–>RTF版本
ansi–> 字符集
ansicpg936–>簡體中文
deff0–>默認字體0
deflang1033–>美國英語
deflangfe2052–>中國漢語
fonttb–>字體列表
f0->字體0
fcharset134 ->GB2312國標碼
'cb’ce’cc’e5–>宋體


\colortbl 顏色表 ;顏色1;顏色2;顏色3;

\viewkind4正常視圖
uc1->單字節(jié)
pard->默認段落屬性
cf1->顏色1
lang->2052中國漢語
f0->字體0
fs20->字體大小20磅
Osamu Naga 原文
\cf0 默認顏色
y
\cf2 顏色2
am
\cf0默認顏色 a,
\par換行



RTF文件格式說明:
1.\ansi Character Set Flag 采用的字符集名稱
2.\b Character Formatting Properties Toggle 字符是粗體
3.\b0 Character Formatting Properties Toggle 字符是非粗體
4.\blueNNN Color Table Value 標識藍色的rgb數值(0-255)
5.\brdrb Paragraph Borders Flag 段落邊界底部
6.\brdrcfNNN Paragraph Borders Value 段落邊界顏色
7.\brdrs Paragraph Borders Flag 段落邊界單線邊框
8.\brdrt Paragraph Borders Flag 段落邊界頂部
9.\brdrth Paragraph Borders Flag 段落邊界雙線邊框
10.\brdrwNNN Paragraph Borders Value 段落邊界線的寬度(單位是堤)
11.\cfNNN Character Formatting Properties Value 字符前景色(0-255)
12.\chpgn Special Characters Symbol 當前頁號
13.\colortbl Color Table Destination 顏色表
14.\deffNNN Font Table Value 默認字體(N是字體號)
15.\deftabNNN Document Formatting Properties Value 文檔中默認tab寬度(單位是堤,默認值是720堤)
16.\emdash Special Characters Symbol 長說明號——(特殊符號)
17.\endash Special Characters Symbol 短說明號-(特殊符號)
18.\fNNN Character Formatting Properties Value 字符的字體(N是在字體表中的編號)
19.\fonttbl Font Table Destination 字體表
20.\fonttype fontname 字體類型,字體名稱
21.\footer Headers and Footers Destination 所有頁的頁腳。
22.\footeryNNN Section Formatting Properties Value 片斷中頁腳和底部的距離(單位是堤,默認是720堤)
23.\fsNNN Character Formatting Properties Value 字符在半角狀態(tài)下的字體大?。J是24)
24.\greenNNN Color Table Value 標識綠色的rgb值(0-255)
25.\headeryNNN Section Formatting Properties Value 片斷中標頭和頂部的距離(單位是堤)
26.\i Character Formatting Properties Toggle 字符是斜體
27.\i0 Character Formatting Properties Toggle 字符是非斜體
28.\keepn Paragraph Formatting Properties Flag 段落與下段同頁
29.\line Special Characters Symbol 分隔符中的一種:換行符(不是段落分隔符)
30.\li Paragraph Formatting Properties Value 段落的左縮進(默認是0)
31.\margbNNN Document Formatting Properties Value 文檔底部空白的高度(單位是堤)
32.\marglNNN Document Formatting Properties Value 文檔左部空白的寬度(單位是堤)
33.\margrNNN Document Formatting Properties Value 文檔右部空白的寬度(單位是堤)
34.\margtNNN Document Formatting Properties Value 文檔頂部空白的高度(單位是堤)
35.’ Special Characters Symbol ‘ 單撇符號
36.\page Special Characters Symbol 分隔符中的一種:分頁符
37.\par Special Characters Symbol 新的段落標志
38.\pard Paragraph Formatting Properties Flag 段落中用于對腳注,注釋,標頭,頁腳等特殊信息分成單獨的組,用來針對每個組單獨指定獨立于文本內容的格式。
39.\plain Character Formatting Properties Flag 使字符格式恢復到應用指定的默認格式,相關的字符格式也恢復到應用指定的默認格式。
40.\qc Paragraph Formatting Properties Flag 段落格式居中
41.\qj Paragraph Formatting Properties Flag 段落兩端對齊
42.\ql Paragraph Formatting Properties Flag 段落格式左對齊
43.\qr Paragraph Formatting Properties Flag 段落格式右對齊
44.\redNNN Color Table Value 標識紅色的rgb值
45.\riNNN Paragraph Formatting Properties Value 段落格式的右縮進值(默認值為0)
46.\rtf RTF Version Destination RTF版本號
47.\slmultNNN Paragraph Formatting Properties Value 段落的多倍行間距0 “最小”或“嚴格”的行距1 多倍行間距(相對于單倍行間距)
48.\slN Paragraph Formatting Properties Value 段落的指定行間據可以調整或者默認為行的最大高度的字符的高度。
49.\tab Special Characters Symbol TAB字符
50.\titlepg Section Formatting Properties Flag 片斷中有特殊格式的第一頁
51.\tqr Tabs Flag 右部用TAB填充
52.\tx Tabs Value TAB位置,從左邊空白處開始(而不是從左邊頁邊緣開始,單位是堤)
53.\ul Character Formatting Properties Toggle 字符具有連續(xù)的下劃線(\ul0關閉連續(xù)的下劃線)
54.\widowctrl Document Formatting Properties Flag 文檔的孤行控制

分享
移動訪問