MarkFormat(标记格式化),是一款在Word中基于标记进行格式化的工具。
让我们看下具体效果。
首先是有标记的文本
点击格式化之后
点击去除标记之后(去除标记也会进行格式化)
如果想要恢复标记,点击“恢复上一次 去除标记 的数据”
MarkFormat支持哪些标记呢?
- # 或 多个#,如“#这是一个段落”,“##这也是一个段落”
- “,这是一对符号,Tab键上面那个键,如“#这虽然是一个段落,但`我想变大`”
- “style_label:xxxxx`,这是一个自定义格式的标记,如“#你好呀,“big:MarkFormat`”
MarkFormat暂时只支持上述三种标记
- #或多个#,这个标记主要功能是设定段落格式
- “,这个标记主要用来设定常用的格式
- “style_label:xxxxx`,你总会需要一些自定义的格式
MarkFormt这些格式都是固定的吗?不!
MarkFormat依赖于一个格式化文件
我们打开看看呢
{
"#":"font-name:宋体,Times New Roman;font-size:三号;font-bold:true;align:center;level:1;",
"##":"font-name:宋体,Times New Roman;font-size:14pt;font-bold:true;align:center;level:2;",
"quote":"font-name:宋体,Times New Roman;font-size:32pt;font-bold:true;",
"big":"font-name:宋体,Times New Roman;font-size:72pt;font-bold:true;"
}
“#”和“##”是不是很好理解?那么“quote”是什么呢?其实就是““”的别名。而“big”是需要这么用的:““big:是的,我很大,我有72Points大`”
总共有多少子格式呢?暂时只有如下:
- font-name:fn1,fn2
- font-size:12pt
- font-bold:true/false
- align:left/center/right/wrap/justify。这是段落对齐方式。
- first-line:none/2c/-2c/3pt/-3pt。这是首行格式。2c表示首行缩进2个字符
- line-space:2pt。行间距。
- line-rule:atleaset/1pt5/double/exactly/multiply/single。这个需要搭配line-space使用。
- line-after:2pt。段前。
- line-before:2pt。段后。
- level:1/2/3/4/5/6/7/8/9/正文。大纲级别。
那么如何获取这个插件呢?
首先,下载WordLab,这是一个Word二次开发插件,在里面可以用类C#脚本开发具体插件。MarkFormat就是基于此开发的。
WordLab 提取码:Tidy
这是一个标准的VSTO插件,下面只需要打开setup.exe,即可完成安装
安装完成后,打开Office Word即可找到:
下面下载MarkFormat插件,解压
MarkFormat 提取码:Tidy
在Word中,点击插件管理,然后右键列表,点击添加,选择“MarkFormat.标记格式化.csc”,关闭“插件管理”即可
至此,插件基本安装完成,下面就是设置格式化文件
首先,点击“标记格式化”
然后,点击“打开”
在打开的文件夹中新建一个文件“示例格式化文件.json”,并复制粘贴下面文本
{
"#":"font-name:宋体,Times New Roman;font-size:三号;font-bold:true;align:center;level:1;",
"##":"font-name:宋体,Times New Roman;font-size:14pt;font-bold:true;align:center;level:2;",
"quote":"font-name:宋体,Times New Roman;font-size:32pt;font-bold:true;",
"big":"font-name:宋体,Times New Roman;font-size:72pt;font-bold:true;"
}
点击“刷新下拉列表”
在Word中输入如下内容,点击“去除标记”
#这是段落格式,`但我需要更大的字体`,“big:我觉得不够大!`
我这边的效果是:
Enjoy
Word二次开发基于VSTO
核心功能一切基于TidyScriptCore,小组:https://group.cnblogs.com/180073/
WordLab使用到了ICsharp.Editor
TidyScriptCore一切基于C#和TidyScript标准