社区
Java SE
帖子详情
java 如何读取pdf文档?
xiaomaju
2004-12-29 03:00:13
最近正在写一个java读取pdf文档的程序,试了好多办法,大部分的java API或者应用程序(如pdfbox,xpdf,pdftohtml)只是针对英文的。有些在设计了对中文的支持功能,但大多不是很好,读出来的大多是乱码。
请问,有哪位大虾对这方面有所研究,请帮我一下。谢谢!
针对一些api的使用,希望能够给出一些例子来,毕竟,俺还是个新手,谢谢!
...全文
400
6
打赏
收藏
java 如何读取pdf文档?
最近正在写一个java读取pdf文档的程序,试了好多办法,大部分的java API或者应用程序(如pdfbox,xpdf,pdftohtml)只是针对英文的。有些在设计了对中文的支持功能,但大多不是很好,读出来的大多是乱码。 请问,有哪位大虾对这方面有所研究,请帮我一下。谢谢! 针对一些api的使用,希望能够给出一些例子来,毕竟,俺还是个新手,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
drugon
2004-12-31
打赏
举报
回复
up
不过中文在软件设计中是一个避免不了的问题,现在好多软件它不直接支持中文,所以作编码的转换是少不了的。
catblue
2004-12-31
打赏
举报
回复
关注
yanudd
2004-12-30
打赏
举报
回复
----------使用iText输出PDF文件。
如今PDF格式文档的使用已经越来越普遍,它在文档压缩、安全等方面都表现的非常优秀,有关它的好处我就不在这里多说了。那么如何使用Java语言开发应用来输出PDF格式的文档呢?在这里给大家介绍iText,它是一个开发源代码的项目,你可以使用iText方便的实现PDF的输出。这篇文章我将向大家介绍如何使用iText来生成PDF文档。
HelloWorld
作为一个程序开发人员,对于HelloWorld程序并不陌生,几乎每一种语言或应用开始总是会举一个HelloWorld的例子来向大家介绍。在开始介绍iText时,我们不妨也从HelloWorld开始
现在运行上面的代码(记住在这之前把itext.jar放到你的ClassPath 之中),如果一切正常的话你会在”c:/”看到一个名为hello.pdf的文件。打开这个文件,看到了什么?是的文档里有一行字符“HelloWorld”,如下图。
怎么样是不是很简单?当然我们在实际应用时不可能只是简单的输出一个字符串就完事了,还要作很多的工作,输出更复杂的PDF,下面就让我们开始进一步了解iText的其他功能。
更复杂的设置
分析一下Document的构造方法,我们发现除了我们上一个例子中的无参数构造以外还有两个:
/*
* Created on 2004-1-3,创建第一个Hello World程序
*/
package test1;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public class HelloWorld {
public static void main(String[] args) {
//创建一个文档对象
Document doc=new Document();
try {
//定义输出位置并把文档对象装入输出对象中
PdfWriter.getInstance(doc, new FileOutputStream("c:/hello.pdf"));
//打开文档对象
doc.open();
// 加入文字“Hello World”
doc.add(new Paragraph("HelloWorld"));
// 关闭文档对象,释放资源
doc.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
public Document();
public Document(Rectangle pageSize);
public Document(Rectangle pageSize,
int marginLeft,
int marginRight,
int marginTop,
int marginBottom);
第一个设置文档的页面大小,第二个除了设置文档的页面大小还设置页面边距。下面我分别给出例子。
Rectangle pSize=new Rectangle(144,90);
//文档的背景色
pSize.setBackgroundColor(Color.blue);
//创建一个文档对象,并设置他的初始化大小
Document doc=new Document(pSize);
Rectangle pSize=new Rectangle(144,90);
//文档的背景色
pSize.setBackgroundColor(Color.blue);
//创建一个文档对象,设置初始化大小和页边距
Document doc=new Document(pSize,5,5,5,5);
将第一个例子中的代码按上面的方法修改然后运行,你可以看到输出的PDF文档将是这个样子,文档变得很小而且背景是蓝色:
在上面的例子中我们通过Rectangle设置了文档的大小,其实iText已经为我们定义好了许多常用的页面,比如:A0-A10, LEGAL, LETTER等等,这些都放在com.lowagie.text.PageSize这个类中,你可以通过调用PageSize中的静态方法直接引用页面信息。比如:
PageSize.A4;
设置字体
使用iText可以设置文字的字体,对于我们中国的程序员来说如何显示中文是最紧要的问题。幸好iText中有一个专门的包用来设置亚洲国家的字体你可以从http://itext.sourceforge.net/downloads/iTextAsian.jar下载这个包。然后把它直接放到你的ClassPath中就可以了。如何设置字体呢?
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
在上面的代码中设置了中文字体的显示,你只要使用下面的代码就可以包中文加到PDF中了
String title = "我爱喝咖啡";
Paragraph t = new Paragraph(title, FontChinese);
doc.add(t);
如果你觉得这样设置很麻烦的话,呵呵,那你要自己扩展它的源代码了,设置字体全部在那个BaseFont里边。
作者Blog:http://blog.csdn.net/shmiluwei/
GJA106
2004-12-29
打赏
举报
回复
普遍存在的问题。
都需要转码才行,从iso_8859_1到GBK。
wjsfr
2004-12-29
打赏
举报
回复
呵呵,我见过直接调用acrobat程序的dll来读取pdf的
doni
2004-12-29
打赏
举报
回复
http://dev.csdn.net/develop/article/24/24206.shtm
看看这个
java
读取
PDF
文件中的内容
java
读取
PDF
文件中的内容
java
读取
PDF
文件中的内容
java
读取
word,
pdf
格式
文档
方法
整理了用
java
如何
读取
word
文档
,
pdf
文档
的几种方法,含有程序
Java
之路
你了解
Java
吗?你知道
Java
能做什么吗?你知道
Java
该怎么学吗?你知道
Java
未来的发展趋势、发展状况吗?
pdf
box 提取
pdf
文件中的图片
下载地址: http://
pdf
box.apache.org/ 介绍:
PDF
Box是一个开源的可以操作
PDF
文档
的
Java
PDF
类库。它可以创建一个新
PDF
文档
,操作现有
PDF
文档
并提取
文档
中的内容。 它具有以下特性: 1.将一个
PDF
文档
转换输出为一个文本文件。 2.可以从文本文件创建一个
PDF
文档
。 3.加密/解密
PDF
文档
。 4.向已有
PDF
文档
中追加内容。 5.可以从
PDF
文档
生成一张图片。 6.可以与Jakarta Lucene搜索引擎的整合。 这个小程序,实现了,图片提取,
文档
解密的基本功能
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章