Java使用itext生成pdf
先说一句:这种方法适合结构化数据,一步步设计模板然后进行输出的数据结构,如果是那种类似于论文之类的,写各种样式估计会疯掉
具体依赖点击:这里
直接上代码
当然,这只是一个用来测试的demo,前两天写了生成word的文章,看了下这个Document对象的继承关系,我理所应当的认为这里应该是需要一个PdfDocument出来的,但是没想到报了NPE异常,具体的应该是要用到这里的PdrWriter来生成相应的写入对象:
这里的PdfWriter继承了DocWriter,同时这个DocWriter也有几个其它的子类,平时用到的较多的应该就是RtfWriter2(生成word等文件),HtmlWriter以及PdfWriter这几个了。
当我们生成文档内容的时候,调用document对象的add方法,添加Element格式的对象就可以了。
也可以通过更加详细的参数来设置样式等不同的规格
默认的无参构造里,生成的文档页码都是A4大小的,
带参数的构造方法里,可以设置页码,左外边距,右外边距,以及上下边距等样式
如果我们同时要下载word,pdf等不同格式的文件,就可以使用策略模式来实现了。