PDFBox 解析PDF文件-解析服务器文件

1.首先引进pom

<!-- PDF读取依赖 -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.4</version>
</dependency>

2.controller层直接代码

/** * PDF解析 * @return */@PostMapping("/getPdf")public StringBuffer getPdf(@RequestBody JSONObject jsonObject) throws IOException {    StringBuffer stringBuffer = null;

  //获取服务器地址    ImportParams params = new ImportParams();    params.setSaveUrl("/file");    String filePath = jsonObject.getString("filePath");    filePath = fileServer + "/" + filePath;    URL url = new URL(filePath);    URLConnection connection = url.openConnection();    InputStream inputStream = connection.getInputStream();    try {        PDDocument document;        PDFParser parser = new PDFParser(new RandomAccessBuffer(inputStream));        parser.parse();        document = parser.getPDDocument();        document.getClass();        if(!document.isEncrypted()) {            PDFTextStripperByArea stripper = new PDFTextStripperByArea();            stripper.setSortByPosition(true);            PDFTextStripper textStripper = new PDFTextStripper();            String exposeContent = textStripper.getText(document);            String[] content = exposeContent.split("\\n");             stringBuffer = new StringBuffer();            for(String line:content) {                stringBuffer.append(line);            }        }

    } catch (Exception e) {        e.printStackTrace();

    }    return stringBuffer;}

原文地址:https://www.cnblogs.com/shxkey/p/12427472.html

时间: 2024-10-03 05:09:15

PDFBox 解析PDF文件-解析服务器文件的相关文章

微信企业号上传媒体文件之服务器文件上传

微信企业号上传媒体文件之服务器文件上传 企业在使用接口时,对多媒体文件.多媒体消息的获取和调用等操作,是通过media_id来进行的. 通过接口https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE,企业可以上传多媒体文件. 注意,每个多媒体文件(media_id)会在上传到微信服务器3天后自动删除,以节省服务器资源. 通常文件上传是通过html表单进行的,通过HttpURLConn

C#解析PDF

C#解析PDF的方式有很多,比较好用的有ITestSharp和PdfBox. PDF内容页如果是图片类型,例如扫描件,则需要进行OCR(光学字符识别). 文本内容的PDF文档,解析的过程中,我目前仅发现能以字符串的形式读取的,不能够读取其中的表格.据说PDF文档结构中是没有表格概念的,因此这个自然是读不到的,如果果真如此,则PDF中表格内容的解析,只能对获取到的字符串按照一定的逻辑自行解析了. ITestSharp是一C#开源项目,PdfBox为Java开源项目,借助于IKVM在.Net平台下有

关于在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程

第一步:登录阿里云官网,获取服务器ECS的指定公网IP地址. 1.输入阿里云官网账号进入首页,如下图: 2.点击进入"管理控制台",如下图: 3.点击"云服务器ECS",进入你购买的服务器概览界面,如下图: 4.点击左侧"实例"选项,进入你名下服务器信息界面,如下图:注意你购买服务器所在地. 获取服务器公网地址. 第二步:登录你所购买域名的供应商进行解析域名绑定服务器IP地址:如(万网)(现万网与阿里云整合在一起,所以你再阿里云也可以解析域名到你

java基础之概谈xml文件解析

XML已经成为一种很通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.诸多web应用框架,其可配置的编程方式,给我们的开发带来了很大程度的便捷,但细细想来,它们的应用无一不是java bean与xml之间的转换解析.本文将对xml的两种操作标准DOM和SAX,从它们各自的特点.适用范围等方面进行简单介绍. DOM (Document Object Model) :DOM标准中,采用W3C标准表示XML,有多重语言支持,因此其跨平台性很好.采用DOM规范

文件解析漏洞

1:IIS6.0解析漏洞 目录解析漏洞,在以.asp结尾的目录下的文件都会被当作asp文件来执行,比如上传了1.jpg的文件到upload.asp目录下,那么1.jpg文件就会被当作asp文件来执行. 文件名解析漏洞,IIS6.0从左向右解析文件名,遇到分号就会自动终止解析,所以上传形如1.asp;.jpg的文件就被当作1.asp文件来执行. 2:IIS7.0,7.5和Nginx<8.03畸形解析漏洞(写webshell漏洞) 原理:在上传文件所在目录下创建一个一句话木马文件 实现过程:新建一个

Android进阶之XML文件解析

xml序列化是把内存数据写入硬盘或SD卡. XML文件解析的方式: 1.dom解析,生成一个树状结构,并全部加入内存,在内存修改树状结构的节点即可.但是消耗内存大. 2.sax解析 基于事件的解析方式.速度快,效率高,但是不能倒退. 3.pull解析 基于事件的解析 pull解析方式: 第一步,初始化解析器,设置要解析的数据流.(此刻指向文档的开始部分) 第二步,得到事件. 第三步,总的节点集合. 第四步,单个节点. public class PullXMLTools { public Pull

iOS开发网络多线程之网络请求文件解析

一.网络请求 1. get请求 1> 确定URL 2> 创建请求 3> 发送连接请求(网络请求用异步函数) - (void)get {    // 1.url    NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/login?username=520it&pwd=520it&type=JSON"];        // 2.请求    NSURLRequest *reque

文件解析漏洞汇总

解析漏洞正如其名,一般大家常说的是,文件在某种格式下,会被执行为该脚本语言的文件. 文件上传漏洞通常与Web容器的解析漏洞配合利用 常见Web容器有IIS.Nginx.Apache.Tomcat等 好了正文开始汇总了,反正都转载贴的,我自己也忘了在哪里看到的了,就不注明转贴地址了. IIS 6.0解析漏洞 目录解析:/xx.asp/xx.jpg xx.jpg可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码 IIS6.0 会将 xx.jpg 解析为 asp 文件. 后缀解析:/x

Android学习之XML数据的三种解析方式以及生成XML文件

首先,我得声明,本博客的思想主要参考了此博客:http://blog.csdn.net/liuhe688/article/details/6415593 不过代码我自己一句句敲的 好了,首先讲一下解析XML的三种方式:(恕我粘贴一下哈) SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事件源产生事件后,调用事件处理器相应的处理方法,一个事件就可以得到处理.在事件源调用事件处理器中特定方

浅谈文件解析及上传漏洞

中国菜刀 在web渗透中,我最期待两种漏洞,一种是任意命令执行漏洞,如struct2漏洞等:另一种是文件上传漏洞,因为这两种漏洞都是获取服务器权限最快最直接的方法.而对于任意命令执行漏洞,如果是通过内网映射出来的,那么可能还需要使用不同的手段进行木马文件上传,从而获取webshell,通过webshell进行端口转发或者权限提升.    本文主要是介绍文件上传中的个人利用技巧经验汇总,讲解分为两部分:一部份是文件解析漏洞,另一部份是文件上传漏洞. 文件解析漏洞 解析漏洞主要是一些特殊文件被iis