用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版

我们用自定义函数setDocFmt()来实现对公文的排版。

一、获取公文参数值

要对公文进行排版,首先要读取公文“参数设置”区中的参数值。比如公文要求对公文标题的一般规定是:一般用2号小标宋体字,居中显示。标题与正文中间空一行。
这些是“参数设置”中关于“文件标题”的默认设置。如果用户有特殊的要求,也可以在“参数设置”修改默认的设置。

所以我们在setDocFmt()中首先使用调用自定义函数getArg()来获取这些参数。

function getArg()
{
	taDbg.value += "\n--- getArg()" ;

	//标题字体名 font name
	dtfn = document.getElementById('selDocTitleFontName').value;
	//alert(fn);
	//标题字号 font size
	dtfs = document.getElementById('selDocTitleFontSize').value;
	//alert(fs);
	//标题对齐方式 text align
	dtta = document.getElementById('selDocTitleAlign').value;

	//一级标题字号 font name
	pt1fn = document.getElementById('selPrimaryTitleFontName').value;
	//一级标题字号 font size
	pt1fs = document.getElementById('selPrimaryTitleFontSize').value;

	//二级标题字号 font name
	pt2fn = document.getElementById('selSecondaryTitleFontName').value;
	//二级标题字号 font size
	pt2fs = document.getElementById('selSecondaryTitleFontSize').value;

	//正文字体名称
	mtfn = document.getElementById('selMainTextFontName').value;
	//正文字体字号
	mtfs = document.getElementById('selMainTextFontSize').value;
	//行距 row spacing
	rs  = document.getElementById('tbRowSp').value;
	//首行行首空格数
	sn  = document.getElementById('tbLeadSpNum').value;
}      

二、公文标题排版

在获取公文参数值后,我们正式开始排版。

与“清除格式”一样,我们首先调用getClearInfoArray() 对要排版的内容进行格式清除。

然后在开始对公文标题进行排版,这主要在自定义函数setDocTitle()中完成:

function setDocTitle(s)
{
    taDbg.value += "\n--- setDocTitle("+ s  + ");" ;
    
    return '

' + s; }

主要是使用

标签,并通过css把与标题相关的参数值作为

的属性。

由于标题通常与正文中间空一行,所以setDocFmt()中在setDocTitle()完成标题格式设置后,我们添加了“

 ';”来实现。即:

	//标题
	t[0]  = setDocTitle(t[0]) + '

 ';

这样我们就完成了标题的排版。这里我们不考虑标题有几行的情况。

function setDocFmt()
{
	taDbg.value += "\n---setDocFmt()\n";

	getArg();

	var t = getClearInfoArray();

	//标题
	t[0]  = setDocTitle(t[0]) + '

 '; /*处理正文*/ edRichBody.innerHTML = t.join('

'); }

效果如下图:

用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版_第1张图片

完整的代码如下:                   





公文一键排版





实时编辑区

参数设置

文件标题:

一级标题:

二级标题: 粗体

三级标题: 粗体

正文字体: 行距(行间距):  段落首行行首空格数:

调试信息

你可能感兴趣的:(原创作品,网页制作,JavaScript,html,javascript,前端,正则表达式,css,公文排版)