问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java读取pdf内容

发布网友 发布时间:2022-04-21 18:47

我来回答

2个回答

热心网友 时间:2022-05-18 09:42

用Java简单的读取pdf文件中的数据:
第一步:下载PDFBox-0.7.2.jar。提供一个下载地址:http://pdfhome.hope.com.cn/Resource.aspx?CID=63844604-5253-4ae1-b023-258c9e324061&RID=20cd8f94-1cee-40b6-a3df-0ef024f8e0d2解压后,把lib文件下的PDFBox-0.7.2.jar,PDFBox-0.7.2-log4j.jar放到你classpath路径下。(我把源码以及jar包都放到下面的附件里,方面你的使用。)
第二步:写个简单的读取pdf文件的程序。(PdfReader.java)
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;
public class PdfReader {
public void readFdf(String file) throws Exception {
// 是否排序
boolean sort = false;
// pdf文件名
String pdfFile = file;
// 输入文本文件名称
String textFile = null;
// 编码方式
String encoding = "UTF-8";
// 开始提取页数
int startPage = 1;
// 结束提取页数
int endPage = Integer.MAX_VALUE;
// 文件输入流,生成文本文件
Writer output = null;
// 内存中存储的PDF Document
PDDocument document = null;
try {
try {
// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件
URL url = new URL(pdfFile);
//注意参数已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
// 获取PDF的文件名
String fileName = url.getFile();
// 以原来PDF的名称来命名新产生的txt文件
if (fileName.length() > 4) {
File outputFile = new File(fileName.substring(0, fileName
.length() - 4)
+ ".txt");
textFile = outputFile.getName();
}
} catch (MalformedURLException e) {
// 如果作为URL装载得到异常则从文件系统装载
//注意参数已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
if (pdfFile.length() > 4) {
textFile = pdfFile.substring(0, pdfFile.length() - 4)
+ ".txt";
}
}
// 文件输入流,写入文件倒textFile
output = new OutputStreamWriter(new FileOutputStream(textFile),
encoding);
// PDFTextStripper来提取文本
PDFTextStripper stripper = null;
stripper = new PDFTextStripper();
// 设置是否排序
stripper.setSortByPosition(sort);
// 设置起始页
stripper.setStartPage(startPage);
// 设置结束页
stripper.setEndPage(endPage);
// 调用PDFTextStripper的writeText提取并输出文本
stripper.writeText(document, output);
} finally {
if (output != null) {
// 关闭输出流
output.close();
}
if (document != null) {
// 关闭PDF Document
document.close();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PdfReader pdfReader = new PdfReader();
try {
// 取得E盘下的SpringGuide.pdf的内容
pdfReader.readFdf("E:\\SpringGuide.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}
这样就简单的完成了从pdf中读取数据了。在你的pdf文件所在的目录下生成一个同名的txt文件。追问附件在哪?那个下载地址是无效的

热心网友 时间:2022-05-18 09:42

Java读取PDF文件:

下载Spire.Pdf for Java,导入jar。(也可以从maven仓库安装)

读取PDF文件中的文本内容:

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.io.*;
 
public class Extract_Text {
 
       public static void main(String[] args) {
             
           //创建PdfDocument实例
           PdfDocument doc= new PdfDocument();
 
           //加载PDF文件
           doc.loadFromFile("test.pdf");       
 
           StringBuilder sb= new StringBuilder();       
 
           PdfPageBase page;
       
           //遍历PDF页面,获取文本
           for(int i=0;i<doc.getPages().getCount();i++){
               page=doc.getPages().get(i);
               sb.append(page.extractText(true));
           }
 
           FileWriter writer;
 
           try {
               //将文本写入文本文件
               writer = new FileWriter("ExtractText.txt"); 
               writer.write(sb.toString());
               writer.flush();
           } catch (IOException e) {
              e.printStackTrace();
           }
 
           doc.close();       
       }

读取图片也是支持的,你可以自己试一下,但是PDF中是没有表格的概念的,表格是画到页面上的,和office文件中的表格不一样,只能通过从PDF页面指定矩形范围内提取数据来实现提取表格内容

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 用java读取pdf 两家人都是好朋友建了一个微信群应该取个什么群名... Java操作pdf表格数据 如何从pdf提取表格 怎样给微信群起名字? 怎么添加微信群名称? 移动捆绑银行卡的手机靓号可以消户吗? 在移动营业厅能买到手机靓号吗? 在移动营业厅或者移动公司可以买手机靓号吗 手机靓号可以去营业厅买吗? 想在移动公司办理 手机靓号 现在可以办理么? 手机靓号可以转网吗? 有人知道手机靓号可以在哪里办理吗? 四川省中国移动靓号合约满后可以转归属地吗? 云南移动靓号政策 移动靓号五年合同到期了可以过户吗? 在微信电脑版里打开企业号应用,不能正常显示,为... 学校企业微信怎么打不开知网文章 企业微信校园一卡通采集授权失败怎么解决 企业微信无法使用 java 解析pdf表格 java 如何在pdf模板文档中间添加表格 java 生成PDF表格 求高手指教怎样用java读取pdf中的表格数据? 怎么用JAVA实现读取PDF中的表格,输出成XLS表格 怎么用java读取pdf文件内容 我想问下 JAVA中 如何读取PDF文件里面的内容 谁给... java如何读取excel表格中插入的PDF对象 JAVA实现读取pdf模板,替换内容后生成新pdf文档? java 已经获取pdf代码,如何把他pdf文件保存到本机... 用JAVA能把Word和PDF文档的表格内容和格式识别出来吗 快手账号实名认证+卖给别人没事吗 快手绑定身份证的号卖出去有风险吗快手? 快手号怎么卖给别人 买了个快手号,关联自己的手机号跟实名认证后还会... 你好 我想问一下快手号已经实名认证了 买来以后可... 用朋友身份证实名了快手,如果卖了这个账号对我有影... 快手号绑定了身份证卖给别人了 别人做了违法的事和... 在平台买了一个快手号,没实名验证的现在换绑了手... 我要买快手号,可是很多实名认证了怎么办,我自己...