iText学习之路iText in Action

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iText学习之路iText in Action相关的知识,希望对你有一定的参考价值。

原创文章,转载请帮我宣传,或者注明原文地址(因为我希望喜欢这篇文章的人,也稍微看一下我的其它文章)。

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.研究一下网上网友分享的他们的学习成果。感谢这些热心网友。

最后,我希望对每一个共同学习的朋友说:技术更新再快,也快不过你努力奔跑的脚步。学习就像乘下行的电动扶梯上楼,你努力了不一定进步,但是你停下了一定会下滑,如果你往反方向走,那更会一落千丈。只要你还活着,就不要停止向前蠕动。

 

以上是关于iText学习之路iText in Action的主要内容,如果未能解决你的问题,请参考以下文章

How to get the edited text from itext in fabricjs

iText7高级教程之构建基础块——6.创建动作(Action)目标(destinations)和书签(bookmarks)

iText7高级教程之构建基础块——6.创建动作(Action)目标(destinations)和书签(bookmarks)

How to get the edited text from itext in fabricjs

字体(Myanmar3)无法在 iText 中正确呈现

iText7系列github地址及交流QQ群