关于如何存储便于网上浏览的电子书籍

    最近很忙,心情也很糟糕,做项目怎么也进入不了状态。打开blog居然很久没有写点什么了,索性将以前的一个项目拿来说一说,欢迎批评,指教。
    其实呢,也算不了什么项目,只是远程培训,考试(asp web程序)中的一部分,主要是为员工提供网上电子书籍的查询和浏览。其中网上考试和考试管理是用asp做的,就暂时不说它了;而这个电子书籍的查询和浏览是asp.net+c#的web程序,也没有什么说头,我要说的是如何将客户的书籍转换成电子文档并存储到数据库当中。
    客户的书籍量非常大,有600 多本书,所以把书录入到电脑中这一步不可能由机器来完成,据说有这样的机器,但客户是承担不起的他们宁愿请别的公司来做。
    所以到最后要解决的问题就很简单了:
    1.要求第三方公司将书籍录入到word文档,插入正确的书中附图,最后另存为.html格式文件。
(这点一般公司是做的到的,实践证明他们做的很好,注意对书籍的索引编号可参考:书名id->章名id->节名id->图片id 来考虑)
   2.根据前面的索引编号,依次读取.html文件内容,剔除无用部分(wrod自动生成的vml代码,它的存在可能导致你无法正确读取文件中的图片),然后将内容和图片分别存储到数据库当中。这一步需要注意图片标签的替换问题,因为浏览电子书籍时必须将书中的图片也一并显示,所以必须将图片标签指向一个显示页面,列如:src="showimg.aspx?imgid=001",根据索引编号必须将书,章,节,图片做到一一对应,以免出现张冠李戴的错误。
    以下是一些可以删除的内容(供参考):
   
 1<!--[if !mso]>
 2//可以删除的内容(包括开始和结束标签)
 3<![endif]-->
 4
 5<!--[if gte mso 9]>
 6//可以删除的内容(包括开始和结束标签)
 7<![endif]-->
 8
 9<!--[if gte vml 1]>
10//可以删除的内容(包括开始和结束标签)
11<![endif]-->
12
13<![if !vml]>
14//可以删除的内容(包括开始和结束标签)
15<![endif]-->
16对于一般的书籍浏览而言,删除他们对内容的浏览是没什么影响的。
17

    到这里,就已经完成大部分了,剩下来就是编写程序将html文件导入数据库。读取文件时,先提取文件中的src值,然后根据它来找到图片的存放位置,并依次提取所有图片,替换src值为显示页面,最后存储html内容和图片。
    以上就是存储电子书籍的处理方法,不知道大家还有没有其他好的想法,这个方案的后期问题就是,数据量比较大时,处理速度会比较慢。

 

posted @ 2006-05-11 02:38  畅想自由  阅读(1199)  评论(0编辑  收藏  举报