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

    文章

    2966

    浏览量

    104695
  • 程序
    +关注

    关注

    117

    文章

    3785

    浏览量

    80994
  • PDF
    PDF
    +关注

    关注

    1

    文章

    167

    浏览量

    33689

原文标题: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

    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次下载

    如何使用Autosar的进行整车电子电气架构设详细方法概述

    提出一种基于Autosar理念的整车电子电气架构设计方法。通过整车需求定义、原子逻辑单元搭建实现整车功能逻辑的实体化,然后利用模型设计分析方法,将功能需求分配到各个电子控制单元,利用
    发表于 11-01 08:00 43次下载
    如何使用Autosar的进行整车电子电气<b class='flag-5'>架构设</b>计<b class='flag-5'>详细</b>方法概述

    系统架构设计的详细讲解

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

    SWE.2的软件架构设

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

    SYS.3的系统架构设

    系统架构设计 过程ID:SYS.3 过程名称:系统架构设计   过程目的:系统架构设计过程目的,是建立系统架构设计,并确定将哪些系统需求分配给系统的哪些要素,以及根据已定义的准则评估系
    的头像 发表于 02-13 16:02 2670次阅读

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

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

    架构与微架构设

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