没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
 
                
            原创|其它|编辑:郝浩|2009-08-25 11:26:48.000|阅读 1707 次
概述:由于目前文章上传大多采用HTML编辑器,使得里面参杂的HTML代码严重影响到场文章分页的效果。我现在想说的是一种基于文章行数预测为思路的一种分页方式。操作过程也很简单。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
由于目前文章上传大多采用HTML编辑器,使得里面参杂的HTML代码严重影响到场文章分页的效果。我现在想说的是一种基于文章行数预测为思路的一种分页方式。操作过程也很简单。
大家都是写程序的,费话少说,看代码
      9 
  10 private static List HtmlLineTest(ref string content, int pageid, string url) 
  11 { 
  12 //文章分段数组 
  13 List segs = new List(); 
  14 int segmax = 30; // 计划每一面的行数 
  15 int linewords = 50; 
  16 int segmin = 0; 
  17 
  18 string s; 
  19 
  20 //int pageheight = 25; 
  21 int line = 0; 
  22 对含有HTML代码的文章进行整理#region 对含有HTML代码的文章进行整理 
  23 content = Regex.Replace(content, "]*>", "", RegexOptions.IgnoreCase); 
  24 content = Regex.Replace(content, "]*>", "", RegexOptions.IgnoreCase); 
  25 content = Regex.Replace(content, " 
", " 
", RegexOptions.IgnoreCase); 
  26 content = Regex.Replace(content, " 
", "", RegexOptions.IgnoreCase); 
  27 #endregion 
  28 MatchCollection mcc = Regex.Matches(content, " 
|]+>", RegexOptions.IgnoreCase); 
  29 int idx = 0; 
  30 StringBuilder __article = new StringBuilder(); 
  31 foreach (Match m in mcc) 
  32 { 
  33 if (m.Value.StartsWith("  
  34 { 
  35 s = content.Substring(idx, m.Index - idx); 
  36 if (!s.StartsWith("  ")) 
  37 __article.Append("  "); 
  38 __article.Append(s); 
  39 idx = m.Index + m.Value.Length; 
  40 int lth = s.Length / linewords; 
  41 if (s.Length % linewords < linewords/2) 
  42 lth++; 
  43 line += lth == 0 ? 1 : lth; 
  44 segmin += lth == 0 ? 1 : lth; 
  45 __article.Append(" 
"); 
  46 if (segmax <= segmin) 
  47 { 
  48 segs.Add(__article.ToString()); 
  49 _string.Remove(0, __article.Length); 
  50 segmin = 0; 
  51 } 
  52 } 
  53 else if (m.Value.StartsWith("  
  54 { 
  55 int pos = m.Value.IndexOf("height"); 
  56 if (pos > -1) 
  57 { 
  58 
  59 string ms = m.Value.Substring(pos + 6); 
  60 pos = int.Parse(Regex.Match(ms, "\\d+").Value); 
  61 line += pos / 25; 
  62 segmin += pos / 25; 
  63 } 
  64 else 
  65 { 
  66 // 图片没有发现表示高度的属性 
  67 line += 400 / 25; 
  68 segmin += 400 / 25; 
  69 } 
  70 idx = m.Index + m.Value.Length; 
  71 __article.Append(m.Value); 
  72 __article.Append(" 
"); 
  73 if (segmax <= segmin) 
  74 { 
  75 segs.Add(_string.ToString()); 
  76 __article.Remove(0, _string.Length); 
  77 segmin = 0; 
  78 } 
  79 } 
  80 } 
  81 if(__article.Length>0) 
  82 segs.Add(_string.ToString()); 
  83 if (mcc.Count == 0) 
  84 segs.Add(content); 
  85 return segs; 
  86 }
当然了。这是服务端的执行代码,为了能够有效检测图片的长宽,我们把这些工作放在客户端来完成。
    1 
  2 // ++++++++++++++++++++++++++ 
  3 // 这段代码是针对fckeditor编码器出+ JQuery 写的 
  4 //++++++++++++++++++++++++++ 
  5 function ImgStyleTest() 
  6 { 
  7 var FckDocument = $('iframe').eq(1)[0].contentWindow.document; 
  8 var HtmlContainer = FckDocument.getElementsByTagName("iframe")[0].contentWindow.document; 
  9 var imgs = HtmlContainer.getElementsByTagName("img"); 
  10 for (i=0; i  
  11 { 
  12 var imgObj = new Image(); 
  13 imgObj.src = imgs[i].src; 
  14 // 检测图片有没有加载完成 
  15 if(imgObj.complete) { 
  16 var width = imgObj.width; 
  17 var height = imgObj.height; 
  18 // 对长度超过600的图片进行缩放 
  19 if(width>600) { 
  20 height = 600 * height / width; 
  21 width = 600; 
  22 } 
  23 imgs[i].style.width= width; 
  24 imgs[i].style.height= height; 
  25 } else { 
  26 setTimeout("ff()",1000); 
  27 } 
  28 
  29 } 
  30 }
这种做法是针对图片和文章的段进行文章分页的。如果某些文章有些段特长那就无能为力了,但是可以结合长段用字段长度分割相结合的方式进行分页。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
文章转载自:IT专家网



 
					接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
 
					面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
 
					本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
 
					本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
 
                 
            
 半岛外围网上直营
半岛外围网上直营  
					 
					 
					