日期:2014-05-17  浏览次数:20713 次

已经让我崩溃了,请教高高手:html内容在不同浏览器中的无差异显示和打印问题
有html内容(富文本,图文混排),要求在浏览器显示的效果有点跟Word的效果相同,具体如下:
1、要求在不同的浏览器(至少要求在IE8、IE9)中显示效果完全相同(显示的宽高、文字加粗、图片居中等等)
2、能要求像Word那样根据设定的页面大小(如A4、A3等)连续分页显示
3、能设置页面像Word那样分栏,内容根据分栏连续分页显示
4、要能得到html元素在页面中的相对位置坐标
5、对该html内容能打印(全部、单页、数量设置等),对每页的页眉页脚能进行单独设定

方案1
用微软的Silverlight:但Silverlight对富文本的显示受到限制(如图片的垂直居中、上下标等),需要自己开发控件(存在风险),对于自定义开发的控件在打印那里也有点问题。

方案2
用ActiveX控件:在打印那里进行控制,但坐标的获取、分栏那里受到很大的限制,理论上能实现但实际做起来非常麻烦。

方案3
用Flex:但对Flex不熟悉,显示上对富文本好像也是受到限制的,其他方面能否实现也不是很清楚。

请教各位,是否还有更好的方案?上面三个方案中目前存在的问题是否有人已经开发过的东西可以利用,望不吝赐教!!


有更好方案的,也可以联系我:shijuanwong@163.com
html 浏览器 silverlight flex ie

------解决方案--------------------
说得这么复杂,其实只要换种方式就简单了
如果只是word文件,不需要在客户端编辑保存到服务端,那直接window.open('xx/xxx.doc')从客户端打开文件,你说的功能word全部有;
如果需要在客户端编辑保存到服务器,那么在服务端将写好将html页面转换为word文件的函数,测试好效果,保证显示基本一致。需要支持打印时,在服务端调用函数将html页面生成word文件,保存在服务端,然后客户端直接window.open('xx/xxx.doc'),在浏览器中打开这个word文件,所有功能同样由word实现