首页 > 作文

Java基于PDFbox实现读取处理PDF文件

更新时间:2023-04-04 23:19:06 阅读: 评论:0

目录
前言pdfbox介绍开发环境pdfbox依赖快速开始结语

前言

嗨,大家好,2022年春节已经接近尾声,各地都陆陆续续开工了。近期有朋友做一个小项目正好使用java读取pdf文件信息。因此记录一下相关过程。

pdfbox介绍

pdfbox是一个开源的、基于java的、支持pdf文档生成的工具库,它可以用于创建新的pdf文档,修改现有的pdf文档,还可以从pdf文档中提取所需的内容。apache pdfbox还包含了数个命令行工具。

pdf文件的数据时一系列基本对象的集合:数组,布尔型,字典,数字,字符串和二进制流。

开发环境

本次java基于pdfbox读取处理pdf文件的版本信息如下:

jdk1.8

springboot 2.3.0.relea

pdfbox 1.8.13

pdfbox依赖

在初次使用pdfbox的时候需要引入pdfbox依赖。本次使用的依赖包如下:

<depen爸爸妈妈回来吧dency>            <groupid>org.apache.pdfbox</groupid>            <artifactid>pdfbox</artifactid>            <version>1.8.13</version>        </dependency>

快速开始

本示例是将指定目录下的pdf文件中的信息读取出来,存储到新的指定路径的txt文本文件当中。

class pdftest {    public static void main(string[] args) throws exception {       string filepath ="c:\\urs\\admin\\desktop\\cxy1.pdf";           list<string> list = getfiles(bapath);        for (string filepath : list) {            long ltime = system.currenttimemillis();            string substring = filepath.substring(filepath.lastindexof("\\") + 1, filepath.lastindexof("."));            string project = "(juejin.cn)";            string textfrompdf = gettextfrompd自我评价50字f(filepath);            string s = writtertxt(textfrompdf, substring + "--", ltime, bapath);            stringbuffer stringbuffer = readertext(s, project);            writtertxt(stringbuffer.tostring(), substring + "-", ltime, bapath);        }        system.out.println("******************** end ************************")小鞋子电影;    }    public static list<string> getfiles(string path) {        list<string> files = new arraylist<string>();        file file = new file(path);        file[] templist = file.listfiles();        for (int i = c盘空间不足怎么办0; i < templist.length; i++) {            if (templist[i].isfile()) {                if (templist[i].tostring().contains(".pdf") || templist[i].tostring().contains(保密管理制度".pdf")) {                    files.add(templist[i].tostring());                }                //文件名,不包含路径                //string filename = templist[i].getname();            }            if (templist[i].isdirectory()) {                //这里就不递归了,            }        }        return files;    }    public static string gettextfrompdf(string filepath) throws exception {        string result = null;        fileinputstream is = null;        pddocument document = null;        try {            is = new fileinputstream(filepath);            pdfparr parr = new pdfparr(is);            parr.par();            document = parr.getpddocument();            pdftextstripper stripper = new pdftextstripper();            result = stripper.gettext(document);        } catch (filenotfoundexception e) {            e.printstacktrace();        } catch (ioexception e) {            e.printstacktrace();        } finally {            if (is != null) {                try {                    is.clo();                } catch (ioexception e) {                    e.printstacktrace();                }            }            if (document != null) {                try {                    document.clo();                } catch (ioexception e) {                    e.printstacktrace();                }            }        }        map<string, string> map = new hashmap<string, string>();        return result;    }    public static string writtertxt(string data, string text, long l, string bapath) {        string filename = null;        try {            if (text == null) {                filename = bapath + "javaio-" + l + ".txt";            } el {                filename = bapath + text + l + ".txt";            }            file file = new file(filename);            //if file doesnt exists, then create it            if (!file.exists()) {                file.createnewfile();            }            //true = append file            outputstream outputstream = new fileoutputstream(file);//            filewriter filewritter = new filewriter(file.getname(), true);//            filewritter.write(data);//            filewritter.clo();            outputstreamwriter outputstreamwriter = new outputstreamwriter(outputstream);            outputstreamwriter.write(data);            outputstreamwriter.clo();            outputstream.clo();            system.out.println("done");        } catch (ioexception e) {            e.printstacktrace();        }        return filename;    }    public static stringbuffer readertext(string name, string project) {        // 使用arraylist来存储每行读取到的字符串        stringbuffer stringbuffer = new stringbuffer();        try {            filereader fr = new filereader(name);            bufferedreader bf = new bufferedreader(fr);            string str;            // 按行读取字符串            while ((str = bf.readline()) != null) {                str = replaceall(str);                if (str.contains("d、") || str.contains("d.")) {                    stringbuffer.append(str);                    stringbuffer.append("\n");                    stringbuffer.append("参考: \n");                    stringbuffer.append("参考: \n");                    stringbuffer.append("\n\n\n\n");                } el if (str.contains("a、") || str.contains("a.")) {                    stringbuffer.deletecharat(stringbuffer.length() - 1);                    stringbuffer.append("。" + project + "\n");                    stringbuffer.append(str + "\n");                } el if (str.contains("b、") || str.contains("c、") || str.contains("b.") || str.contains("c.")) {                    stringbuffer.append(str + "\n");                } el {                    stringbuffer.append(str);                }            }            bf.clo();            fr.clo();        } catch (ioexception e) {            e.printstacktrace();        }        return stringbuffer;    }    public static string replaceall(string str) {        return str.replaceall("网", "");    }}

结语

好了,以上就是java中继承相关概念介绍,感谢您的阅读,希望您喜欢,如有不足之处,欢迎评论指正。

到此这篇关于java基于pdfbox实现读取处理pdf文件的文章就介绍到这了,更多相关java读取处理pdf内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 23:19:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/3f25cca649264d7d3169a8b86413f38a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Java基于PDFbox实现读取处理PDF文件.doc

本文 PDF 下载地址:Java基于PDFbox实现读取处理PDF文件.pdf

标签:文件   字符串   文档   结语
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图