iText

iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。

该项目主页:http://www.lowagie.com/iText/

JFreeReport

JFreeReport的数据继承自Swing组件的TableModel接口。JFreeReport生成的报表可以分页预览、打印或者保存为多种格式的文件包括pdf、Excel、html等。

该项目主页:http://www.jfree.org/jfreereport/

PJX

PJX支持读取,组合,处理,和生成PDF文档(注意:PJX需要 J2SE 1.4.0 或更高版本)。

该项目主页:http://www.etymon.com/epub.html

Apache FOP

FOP是由James Tauber发起的一个开源项目,原先的版本是利用xsl-fo将xml文件转换成pdf文件。但最新的版本它可以将xml文件转换成pdf,mif,pcl,txt等多种格式以及直接输出到打印机,并且支持使用SVG描述图形。

该项目主页:http://xml.apache.org/fop/

gnujpdf

gnujpdf是一个java类包(gnu.jpdf.*),它提供了一个简单的API来创建与打印PDF文件。遵循LGPL开源协议。

该项目主页:http://gnujpdf.sourceforge.net/

PDF Box

PDFBox是一个开源的可以操作PDF文档的Java PDF类库。它可以创建一个新PDF文档,操作现有PDF文档并提取文档中的内容。

它具有以下特性:

1.将一个PDF文档转换输出为一个文本文件。

2.可以从文本文件创建一个PDF文档。

3.加密/解密PDF文档。

4.向已有PDF文档中追加内容。

5.可以从PDF文档生成一张图片。

6.可以与Jakarta Lucene搜索引擎的整合。

该项目主页:http://www.pdfbox.org/

Connla

Connla是一个Java包用于创建可导成TXT,CSV,HTML,XHTML,XML,PDF和XLS等格式的数据集。

该项目主页:http://connla.sourceforge.net/

PDF Split & Merge

PDF Split&Merge是一款实用基于GPL许可协议发布的PDF文件分割与合并工具。您可以指定页码范围将一个PDF文件分割为若干PDF 文件(支持单页和多页混合),或将多个PDF文件按指定顺序合并成一个PDF文件。其转换速度非常快。它采用Java Swing开发,运用到的第三方组件包括:iText,jcmdline和JGoodies界面包。

该项目主页:http://pdfsam.sourceforge.net/

PDF Clown for Java

PDF Clown for Java是一个基于Java1.5用于读,写和操作PDF文档的Java类包。它提供多个抽象层来满足不同的编程风格:从底层(PDF对象模型)到高级(PDF文档结构和内容流)。

该项目主页:http://www.stefanochizzolini.it/en/projects/clown/

iText toolbox

iText toolbox是一个Java Swing应用程序,其起初是iText类库的一部分。iText toolbox既可以作为一个可执行的Jar,也可作为Java Webstart应用程序运行。对于完成各种类型的PDF相关文件操作,iText toolbox是一个非常有用的工具比如:把一个目录下的所有图片转换成一个PDF文档,合并现有PDF文档等。此外开发人员可以把它当成一个学习iText类库各项功能的工具。

该项目主页:http://itexttoolbox.sourceforge.net/

PDFjet

PDFjet是一个用于动态生成PDF文档的Java类库。支持绘制点、线、方框、圆、贝塞尔曲线(Bezier Curves) 、多边形、星形、复杂路径和形状。支持unicode,文本间距调整,嵌入超链接等。

该项目主页:http://pdfjet.com/os/edition.html

ICEpdf

ICEpdf是一个开源Java PDF引擎,用于展示/查看PDF文档,转换和抽取PDF文档的内容。可以集成到Java桌面应用程序或Web服务器中使用。

该项目主页:http://www.icepdf.org/

JSignPdf

JSignPdf是一个用于为PDF文档添加数字签名的Java应用程序。它既可以单独使用,也可以作为OpenOffice.org的插件使用。支持设置验证级别,PDF加密和设置权限,添加签名图标,批量转换(通过命令行参数控制)。

该项目主页:http://jsignpdf.sourceforge.net/

PDF Renderer

PDF Renderer是一个采用纯Java实现的PDF阅读器和渲染器。 可以利用它实现在你的应用中查看PDF文件;在导出PDF文件之前进行预览;在服务器端Web应用中将PDF转成PNGs图片;在一个3D场景中查看PDF。

该项目主页:https://pdf-renderer.dev.java.net/

Java中常用的操作PDF的类库的更多相关文章

  1. Java中常用集合操作

    一.Map 名值对存储的. 常用派生类HashMap类 添加: put(key,value)往集合里添加数据 删除: clear()删除所有 remove(key)清除单个,根据k来找 获取: siz ...

  2. java中常用Redis操作

     stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向 ...

  3. Java中的IO操作和缓冲区

    目录 Java中的IO操作和缓冲区 一.简述 二.IO流的介绍 什么是流 输入输出流的作用范围 三.Java中的字节流和字符流 字节流 字符流 二者的联系 1.InputStreamReader 2. ...

  4. java中常用的工具类(三)

    继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类       ...

  5. java中常用的工具类(二)

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  6. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  7. Java中常用的运算符

    运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...

  8. JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)

    JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...

  9. Java高级特性 第2节 java中常用的实用类(1)

    一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...

随机推荐

  1. noip模拟赛 柜(暴力)

    分析:暴力的方法是非常显然的,从起点走一次,从终点走一次,路径相交的点即为所求,但是这样存图都很难存下,而且如果数据极端可能要求R*C次,时间空间都受不了.如果不需要记录整张图,并且一次能移动很多步就 ...

  2. 常州模拟赛d7t1 亲戚

    分析:把题目换个方式理解,就是把各个点排成一列,并且指定了若干对的先后次序,问你有多少种序列满足要求. 显然是一道dp题,直接推出方程似乎有点点困难,那么先看看数据特点. 1.有一些点满足fi=0,那 ...

  3. java多线程编程核心技术(一)--多线程技能

    1.进程和线程的概念 1.进程:进程是操作系统的基础,是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位. ...

  4. my first emacs custom key binding

    (defun comment-this-level ()  (interactive)  (move-beginning-of-line 1)  (set-mark-command nil)  (fo ...

  5. 2102 石子归并 2codevs

    2102 石子归并 2codevs 题目描述 Description 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为 ...

  6. 非常适合新手的jq/zepto源码分析03

    zepto.fragment = function(html, name, properties) { var dom, nodes, container // 如果是简单的标签<div> ...

  7. docker: useful commands

    docker build -t stock_data_repo_instance24 . docker run -v /opt/log:/opt/log -d -it stock_data_repo_ ...

  8. 【Android 开发实例】时间管理APP开发之数据库设计

    当然也能够先写界面什么的.可是,总认为先把数据库后台写好在写界面比較放心. 对于数据库的设计,我一開始没什么概念.甚至不知道怎样下手,一開始想着设计成几个表?有哪些字段? 最后用了两天时间,还是一无所 ...

  9. apple air装双系统(win7)

     同事买了一个apple air.用不习惯,希望再装个win7,经过多次试验,得到例如以下操作方法: 1.在MAC系统里的"有用工具"中找到"Boot Camp 助理 ...

  10. Android实现一个自己定义相机的界面

    我们先实现拍照button的圆形效果哈.Android开发中,当然能够找美工人员设计图片,然后直接拿进来.只是我们能够自己写代码实现这个效果哈.最经常使用的的是用layout-list实现图片的叠加, ...