问答文章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-13 03:12

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();
}
}
}

热心网友 时间:2022-05-13 04:30

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;

import java.io.*;

public class Extract_Text {

public static void main(String[] args) {

        PdfDocument doc = new PdfDocument();
        //加载PDF文件
        doc.loadFromFile("test.pdf");
               
        StringBuilder sb = new StringBuilder();   
 
        PdfPageBase page;                
        //获取每个页面的文本
        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();
}
}

需要用到spire.pdf for java库。读取PDF文件内容时,可以保留排版样式。原文:Java 提取或读取 PDF 文本内容

热心网友 时间:2022-05-13 03:12

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();
}
}
}

热心网友 时间:2022-05-13 04:30

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;

import java.io.*;

public class Extract_Text {

public static void main(String[] args) {

        PdfDocument doc = new PdfDocument();
        //加载PDF文件
        doc.loadFromFile("test.pdf");
               
        StringBuilder sb = new StringBuilder();   
 
        PdfPageBase page;                
        //获取每个页面的文本
        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();
}
}

需要用到spire.pdf for java库。读取PDF文件内容时,可以保留排版样式。原文:Java 提取或读取 PDF 文本内容

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
街头篮球手游中锋攻略汇总 C位攻略大全 街头篮球手游中锋有什么技巧 中锋C技巧详解 php一个表单提交数据怎么区分开,隐藏域可以吗,如果可以怎么用。 梦见牙掉光了什么预兆 梦见牙齿掉完了是什么征兆 梦见牙齿全掉了是什么预兆 梦见一口牙全部掉了是什么预兆 教师年度考核不认课的领导班子成员,干的工作不少,怎样考核办法公平... 湖北省郧西县义务教育学校绩效工资实施办法绩效工资总量和水平的... 事业单位年底是否有绩效奖金的 两家人都是好朋友建了一个微信群应该取个什么群名... Java操作pdf表格数据 如何从pdf提取表格 怎样给微信群起名字? 怎么添加微信群名称? 移动捆绑银行卡的手机靓号可以消户吗? 在移动营业厅能买到手机靓号吗? 在移动营业厅或者移动公司可以买手机靓号吗 手机靓号可以去营业厅买吗? 想在移动公司办理 手机靓号 现在可以办理么? 手机靓号可以转网吗? 有人知道手机靓号可以在哪里办理吗? 四川省中国移动靓号合约满后可以转归属地吗? 云南移动靓号政策 移动靓号五年合同到期了可以过户吗? 在微信电脑版里打开企业号应用,不能正常显示,为... 学校企业微信怎么打不开知网文章 企业微信校园一卡通采集授权失败怎么解决 企业微信无法使用 学校孩子每天健康打卡的企业微信显示该账号暂时无... java读取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文档的表格内容和格式识别出来吗 快手账号实名认证+卖给别人没事吗 快手绑定身份证的号卖出去有风险吗快手? 快手号怎么卖给别人 买了个快手号,关联自己的手机号跟实名认证后还会... 你好 我想问一下快手号已经实名认证了 买来以后可... 用朋友身份证实名了快手,如果卖了这个账号对我有影... 快手号绑定了身份证卖给别人了 别人做了违法的事和... 在平台买了一个快手号,没实名验证的现在换绑了手...