用html+javascript打造公文一键排版系统11:改进单一附件说明排版

一、用html+javascript打造公文一键排版系统10中的一个bug

在 用html+javascript打造公文一键排版系统10:单一附件说明排版 中,我们对附件说明的排版函数是:

function setAtttDescFmt(p)
{
	var t = p;
	var a = '';
	if (-1 != t.indexOf(':'))//是半角冒号?
	{
		t = p.replace(':', ':');
		a = g_sWarmPromptLeft + g_sWarmPromptTxt + "已将半角冒号转换为全角冒号" + g_sWarmPromptRight;	  //温馨提示
	}

	//公文如有附件,在正文下空一行左空二字编排"附件"二字,后标全角冒号和附件名称。
	var sBlankLine = '

 

'; //var t = '

' + t; return sBlankLine + t + a; }// setAtttDescFmt(p)

这在附件说明文字不超过一行时有效,当附件说明文字超过一行时,排版后会显示为下方图1中紫色方框中的形式:

用html+javascript打造公文一键排版系统11:改进单一附件说明排版_第1张图片

图1 

这是不符合公文排版中规定:

附件名称较长需回行时,应当与上一行附件名称的首字对齐。

也就是说,图1中紫色方框中的附件说明应该排版显示为下方图2中的紫色方框的形式:

用html+javascript打造公文一键排版系统11:改进单一附件说明排版_第2张图片

图2

二、从Word排版代码中寻找与排版相关属性

要实现图2中的紫色方框的形式这样的效果,我们先研究一下word中是如何实现的。在word中排好版:

用html+javascript打造公文一键排版系统11:改进单一附件说明排版_第3张图片

图3 

然后把它们复制到网页中查看源代码:


附件:河池市××关于××××××××××××××××××××××××××××××××××××××××××××××××××的通知

进行测试并剔除多余的代码后,真正有用的代码如下:

附件:河池市××关于××××××××××××××××××××××××××××××××××××××××××××××××××的通知

据此修改附件说明排版函数setAtttDescFmt(p)的代码:

function setAtttDescFmt(p)
{
	var t = p;
	var a = '';
	if (-1 != t.indexOf(':'))//是半角冒号?
	{
		t = p.replace(':', ':');
		a = g_sWarmPromptLeft + g_sWarmPromptTxt + "已将半角冒号转换为全角冒号" + g_sWarmPromptRight;	  //温馨提示
	}

	//公文如有附件,在正文下空一行左空二字编排"附件"二字,后标全角冒号和附件名称。
	//var t  =  '

' + t;//20230801停用 var t = '

' + t;//20230801增加 return sBlankLine + t + a; }// setAtttDescFmt(p)

代码运行效果如下图4:

用html+javascript打造公文一键排版系统11:改进单一附件说明排版_第4张图片

 图4

排版的效果比图1要好许多,但与图2所示的效果还有差距。

三、研究测试css中与换行对齐有关的属性

研究测试css中关于换行对齐有关的属性,包括:text-align、text-align-last、text-justify、word-swap、word-break等,最终发现有效的是:

word-break: break-all; 

把它加到附件说明排版函数setAtttDescFmt(p)的代码中:

function setAtttDescFmt(p)
{
	var t = p;
	var a = '';
	if (-1 != t.indexOf(':'))//是半角冒号?
	{
		t = p.replace(':', ':');
		a = g_sWarmPromptLeft + g_sWarmPromptTxt + "已将半角冒号转换为全角冒号" + g_sWarmPromptRight;	  //温馨提示
	}

	//公文如有附件,在正文下空一行左空二字编排"附件"二字,后标全角冒号和附件名称。
	var sBlankLine = '

 

'; //var t = '

' + t;//20230801停用 var t = '

' + t;//20230801增加 return sBlankLine + t + a; }// setAtttDescFmt(p)

四、代码运行效果

用html+javascript打造公文一键排版系统11:改进单一附件说明排版_第5张图片

 五、完整代码






公文一键排版系统
 

 

 

实时编辑区

参数设置 公文标题:排版内容包括公文标题

正文一级标题:

正文二级标题: 粗体

正文三级标题: 粗体

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

调试信息

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