原创文章,转载请帮我宣传,或者注明原文地址(因为我希望喜欢这篇文章的人,也稍微看一下我的其它文章)。
iText学习之路(一)
为什么要研究PDF?
PDF作为一种为印刷而生的文档格式,具有优于其他文档类型的诸多优良特性。同时作为一种电子文档格式,它也具有非常良好的阅读效果。
因为我们在实际项目中经常使用到PDF这种文档格式,所以我们研究这种格式。
——软件总来源于需求。
我们对PDF做什么?
第一步分析需求
作为一种数据,我们在本质上能做的无非是精炼的四个字:增删改查
1. 生成PDF文档
2. 编辑PDF文档
3. 阅读PDf文档
在此基础上,进一步提出具体的操作:
1.1从其它文档生产PDF文档
1.2直接生成PDF文档
2.1编辑现有的PDF文档
2.2把PDF文档作为一种模板,批量产生PDF文档
第二步分析必要性
1. 现有的对PDF进行操作的软件有哪些?
2. 现有的对PDF进行操作的编程资源有哪些?
3. 现有的软件和编程资源,成本如何
4. 对使用现有软件,和开发新软件的必要性比较。
我们要综合两方面考虑,一是现有的图形化软件,是否已经满足了我们的业务需求。二是现有的图形化软件,或者编程资源是否收费,成本如何。
这一步通常我们在学习软件的过程中,不需要考虑太深刻,因为学习往往是一个不计较成本只关心收获的过程。
第三步分析现状
1. 为什么我们需要自己进行开发软件,而现有软件无法向我们提供可靠免费的服务(这种技术是否很难?成本是否很高?技术专利性是否很强?)
2. 现有的其它文档格式,和PDF比较,有哪些异同点?(为什么没有出现和其它软件类似的图形化编辑器?)
第四步分析本质
1. PDF作为一种文件,它的数据结构是怎么样的?在不同系统中表现如何?
我认为我们在学习一种技术的时候,不要急于投入到一些显性的问题。而是从问题的产生出发,在脑海里发散出一棵有层次,有组织的问题树,并且在沿着这棵树探索的过程中,不断丰富它的枝叶。
本系列文章,主要介绍iText的使用,本人属于边学边分享,技术并不专业,仅供大家作为参考。技术的来源,将会是:
1.对iText in Action的阅读和翻译,这也是最难的部分,我觉得进度不会很快。这也是本系列文章的主线:作为菜鸟之中的一员,我深切体会到,不能流利地看懂英文文档,又没有优秀的经验作为参考,碰到编程中的问题只能憋着的感觉。IT圈不是没有人才,不是没有英语好的人。不过我们都能理解,程序员这个职业,能活着就已经下了很大的成本,为了活的更好而不断提高自己,更是投入了生命级别的代价,因此,拿出时间来去分享经验,或者进行为了学习而学习的工作(比如在技术不断更新的情况下还写书),是一种往往得不偿失的行为。我相信有无数的同僚们想要给我们分享,但往往力不从心。我作为一名刚进入工作尚未毕业的实习生,也不能保证将来会把这件事坚持下去。目前也只是为了:锻炼自己语言表达的能力,提高对知识的组织和巩固,提高英语水平,养成好的生活和学习习惯。等等这些目的而开始了这项工作。
2.对官方网站上的例子的研究和使用。
3.对官方的API帮助文档的研究和翻译。
4.尽量研究源码
5.研究一下网上网友分享的他们的学习成果。感谢这些热心网友。
最后,我希望对每一个共同学习的朋友说:技术更新再快,也快不过你努力奔跑的脚步。学习就像乘下行的电动扶梯上楼,你努力了不一定进步,但是你停下了一定会下滑,如果你往反方向走,那更会一落千丈。只要你还活着,就不要停止向前蠕动。