一、前言
最近在做一个解析PDF文件的功能,试了很方法,最后终于成功,在这里给大家分享一下。很多PDF解析的API或工具都有一些问题,我尝试过如pdf2htmlEX、xpdf、pdfbox等API或工具,效果都不太理想,后来无意中发现了pdfdom,pdfdom是一个JavaAPI,它是在pdfbox的基础上进行了扩展,专门用于解析PDF文件生成HTML文件,效果非常好,下面我们来看一下具体如何实现。
二、pdfdom的POM依赖
<dependency>
<groupId>net.sf.cssbox</groupId>
<artifactId>pdf2dom</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-tools</artifactId>
<version>2.0.4</version>
</dependency>
三、上传PDF文件并解析PDF文件
1、简单的JSP页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<script type="text/javascript" src="js/jquery-3.2.1.js"></script>
<script type="text/javascript" src="js/ajaxfileupload.js"></script>
<script charset="UTF-8" type="text/javascript" src="js/demo.js"></script>
<style>
#dataTable tbody tr td {
border: 1px solid black;
white-space: nowrap;
width: auto;
}
</style>
</head>
<body>
<div>
<input id="file" type="file" name="file" value="打开PDF文件">
<input id="getData" type="button" value="生成表格数据" οnclick="getData()">
</div>
<div>
<iframe id="text_iframe" src="" name="text_iframe" style="width: 800px;height: 500px;float: left"></iframe>
</div>
<div style="width: 800px;height: 500px;">
<table id="dataTable" border="0" cellspacing="0"
style="height: a