三行java代码解析pdf获取文档内容(包含表格及段落)

前言

PDF 文件是一种十分常用的文件格式,在企业信息系统存储和交换信息中普遍使用。从PDF文档中获取表格段落等文档内容却是一件非常麻烦的事情,这是因为pdf的设计初衷是基于文档显示的,为了能保证在不同平台中完全一致的视觉效果,PDF文档结构是按页分割的,每个PDF页存储的是一系列包含线条、字符、图片等基本元素的绘图指令及引用的资源。正是这个原因,pdf文档不能像word文档一样直接获取表格和段落,如果想要获取这些文档内容,需要在获取字符、线条、图片等图形及坐标基础上按阅读习惯把含基本元素重新组装,还原出表格、段落、图片等文档部件,然后在此基础上拼接成文档,其中涉及对pdf绘图指令解析,表格、段落的识别,跨页、跨栏的合并处理等,过程十分复杂。

PDFBox是apache基金会旗下的一个为java开发人员读取和创建PDF文档而准备的纯Java开源类库。PDFBox可解析PDF文档并获取图形元素及坐标。

pdftranspro是基于PDFBox定制开发的一个专业 pdf 文本内容提取解决方案,支持windows和linux平台,能对跨页、跨栏的段落或表格进行合并处理,精确还原整篇文档内的段落和表格,而且可以同时输出html、xml、json、txt 等 4 种格式,方便用户高效获取 pdf 文档内的精确信息或数据。通过Java调用SDK方式仅需三行代码集成pdf文档转换功能,可返回转换文本,也提供 pdf文档截取合并、中文繁体简体转换、关键词替换等实用的 pdf 编辑功能接口。

demo示例

生成html格式示例程序代码如下:

package test_jni;
import org.pdf.parser.Pdfutil;
public class Pdfsdk_test 
{
    public static void main(String[] args) 
    {
        Pdfutil test = new Pdfutil();
        System.out.println(test.getpdftext("infiles/600979.PDF",true,"html",true,20,30));
    }
}

程序运行结果如下:

生成xml格式示例程序代码如下:

package test_jni;
import org.pdf.parser.Pdfutil;
public class Pdfsdk_test 
{
    public static void main(String[] args) 
    {
        Pdfutil test = new Pdfutil();
        System.out.println(test.getpdftext("infiles/600979.PDF",true,"xml",true,20,30));
    }
}

程序运行结果如下:

生成json格式示例程序代码如下:

package test_jni;
import org.pdf.parser.Pdfutil;
public class Pdfsdk_test 
{
    public static void main(String[] args) 
    {
        Pdfutil test = new Pdfutil();
        System.out.println(test.getpdftext("infiles/600979.PDF",true,"json",true,20,30));
    }
}

程序运行结果如下:

生成txt格式示例程序代码如下:

package test_jni;
import org.pdf.parser.Pdfutil;
public class Pdfsdk_test 
{
    public static void main(String[] args) 
    {
        Pdfutil test = new Pdfutil();
        System.out.println(test.getpdftext("infiles/600979.PDF",true,"txt",true,20,30));
    }
}

程序运行结果如下:

demo程序文件结构如下:

demo程序资源目录结构如下:

更多资料

java调用SDK版pdftranspro接口详解

Pdftranspro简介

demo下载

java调用SDK版pdftranspro示例——点击进入下载页面

pdftranspro2.0——点击进入下载页面

pdftranspro1.7——点击进入下载页面

本文完。

  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值