0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PDF解析程序架构设计详细

jqYd_gh_7579151 来源:未知 作者:李建兵 2018-03-17 09:13 次阅读

在做大数据的时候,首先第一步就是要解决数据的来源,我们采用的设计方案就是使用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文件。

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

    关注

    19

    文章

    2904

    浏览量

    102994
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79543
  • PDF
    PDF
    +关注

    关注

    1

    文章

    163

    浏览量

    33006

原文标题:PDF解析程序架构设计

文章出处:【微信号:gh_757915171cb5,微信公众号:FPGA自学笔记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    kintex产品架构设计文档(成为架构师也是电子人不错的选...

    kintex产品架构设计文档(成为架构师也是电子人不错的选择) ROCE(儒仕),用心为每一位电子人!Xilinx7系列普及讲座,架构师设计方案模板,交流学习 内容请下载附件pdf,更
    发表于 04-30 16:41

    【WEBENCH 大赛作品】WEBENCH Processor Power Architect 电源架构设

    利用WEBENCH Processor Power Architect 设计工具进行设计,基于TPS54335A原件的电源架构设计。输入电压为直流10V-20V,输出电压为3.3V,2A作品地址
    发表于 07-16 14:24

    软件架构设计教程

    软件架构设计教程
    发表于 09-26 15:27

    汽车电子电气架构设计及优化措施

    我国公路建设事业的蓬勃发展导致在汽车行业中的电子电气架构设计越来越体现消费者对汽车人性化、舒适化与美观性的现实需求。设计汽车的电子电气架构是一项工程量较大的工作,它涉及了硬件、软件、网络、线束等方面
    发表于 10-18 22:10

    【汽车电气架构设计软件】

    因工作需要,求整车电气架构设计软件——PREEvision(盗版),价格可议,WetChat/***,非诚勿扰
    发表于 04-18 14:20

    STM32软件架构设计的意义

    STM32软件架构1、架构设计的意义(1)应用代码逻辑清晰,且避免代码冗余;(2)代码通用性,方便软件高速、有效的移植;(3)各功能独立,低耦合高内聚;2、总体架构图3、结构层说明4、遵循规则5、优劣评估6、STM32实例说明
    发表于 08-04 07:23

    ARM嵌入式应用程序架构设计工具-DLTools

    ARM嵌入式应用程序架构设计实例精讲--ARM嵌入式应用程序架构设计工具-DLTools
    发表于 07-08 11:08 4次下载

    ARM嵌入式应用程序架构设计工具-字库

    ARM嵌入式应用程序架构设计实例精讲--ARM嵌入式应用程序架构设计工具-字库
    发表于 07-08 11:08 10次下载

    ARM嵌入式应用程序架构设计工具

    电子专业单片机相关知识学习教材资料——ARM嵌入式应用程序架构设计工具
    发表于 09-13 17:23 0次下载

    软件架构设计的三个维度解析

    架构设计是一个非常大的话题,不管写几篇文章,接触到的始终只是冰山一角,更多的是实践中去体会。这篇文章主要介绍面向对象OO、面向方面AOP和面向服务SOA这三个要素在架构设计中的位置与作用。 架构设
    发表于 10-29 11:12 0次下载
    软件<b class='flag-5'>架构设</b>计的三个维度<b class='flag-5'>解析</b>

    系统架构设计的详细讲解

    上一篇,我们讨论了故障度量和安全机制的ASIL等级。本篇我们来聊一聊系统架构设计相关内容。01系统架构设计和TSC当我们开始写TSC时,会涉及到下图中一系列的内容:当我们完成前三期(链接见文末)提到的安全机制规范后,我们就要开始整理好所有的安全需求并在系统
    的头像 发表于 12-24 14:33 1398次阅读

    SWE.2的软件架构设

    过程ID:SWE.2 过程名称:软件架构设计 过程目的:软件架构设计过程目的是建立一个架构设计,识别哪些软件需求应该分配给软件的哪些要素,并根据已定义的标准评估软件架构设计。   过程
    的头像 发表于 01-11 10:36 2443次阅读

    几种软件架构设计的思维方式

    一个优秀的程序员要想成为一名优秀的架构设计师,就改变编程的思维,学会使用架构设计的思维方式。
    的头像 发表于 03-08 15:30 4662次阅读

    架构与微架构设

    下面将从芯片的架构设计、微架构设计、使用设计文档、设计分区、时钟域和时钟组、架构调整与性能改进、处理器微架构设计策略等角度进行说明,并以视频H.264编码器设计为例。
    的头像 发表于 05-08 10:42 862次阅读
    <b class='flag-5'>架构</b>与微<b class='flag-5'>架构设</b>计

    NetApp VMware和Broadcom验证架构设

    电子发烧友网站提供《NetApp VMware和Broadcom验证架构设计.pdf》资料免费下载
    发表于 08-23 15:17 0次下载
    NetApp VMware和Broadcom验证<b class='flag-5'>架构设</b>计