PDF解析程序架构设计详细

电子说

1.2w人已加入

描述

在做大数据的时候,首先第一步就是要解决数据的来源,我们采用的设计方案就是使用Python来从一些政府网站爬数据,将披露的银行、证券、股票、信托等行业中三大报表(利润表、资产负债表、现金流量表)数据解析并录入数据库,我们采用java编程来实现三大报表数据解析。

程序设计采用java面向对象设计的概念,利用java继承、封装、多态的特性来设计,可以减去程序更改的麻烦,以前写的类可以继续使用。

程序设计架构采用如下所示:

ParentTable包含三个函数。

MatchStartLine():用于查找三大报表的起始行。

MatchEndline():用于查找三大报表的结束行。

Anla():用于解析查找到的报表行。

在解析不用的PDF文件时,直接进行override这三个函数,就可以实现解决不同的表格匹配问题。

新建一个PDFFile类,在这个类中实现调用ParentTable的anla函数,来解析所有的PDF文件中的所有表格。

public boolean  anla(){

for(ParentTable table : tables){

int nIndexStart = table.matchStartLine(lines);

int nIndexEnd = table.matchEndLine(lines);

/*取出表内容*/

String[] arrTableLines =newString[nIndexEnd - nIndexStart +1];

System.arraycopy(lines, nIndexStart, arrTableLines,0, nTableLineCount);

if(arrTableLines.length <=0)

continue;

table.setTableLines(arrTableLines);

/*分析表内容*/

table.anla();

}

}

在主程序中,调用PDFFile类中的anla()函数,将依次解析tables参数中所有表格类型,将解决匹配所有PDF文件中表格。

下一节将解决如何使用多线程来解析PDF文件。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分