CN105786778A - 远程阅读pdf文件的方法 - Google Patents

远程阅读pdf文件的方法 Download PDF

Info

Publication number
CN105786778A
CN105786778A CN201610111633.9A CN201610111633A CN105786778A CN 105786778 A CN105786778 A CN 105786778A CN 201610111633 A CN201610111633 A CN 201610111633A CN 105786778 A CN105786778 A CN 105786778A
Authority
CN
China
Prior art keywords
xref
data
temporary file
pdf
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610111633.9A
Other languages
English (en)
Other versions
CN105786778B (zh
Inventor
杨毅
王昆
张言涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201610111633.9A priority Critical patent/CN105786778B/zh
Publication of CN105786778A publication Critical patent/CN105786778A/zh
Application granted granted Critical
Publication of CN105786778B publication Critical patent/CN105786778B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及计算机软件和网络技术领域,提供一种远程阅读PDF文件的方法,以对互联网上的PDF文件进行读取与访问,该方法包括:获取待阅读PDF文件的长度,在本地创建临时文件;取待阅读PDF文件的头部数据和尾部数据,将获取到的头部数据和尾端数据保存至临时文件中;从临时文件中解析PDF头信息,从临时文件的最后往前查找xref标识,查找到xref标识后解析xref标识内的object表,当识别到startxref标识后,根据startxref标识获取下一个xref表,依此方法获取所有的xref表;本地PDF阅读器的解码器读取临时文件中的xref表,读取各个xref表的object对象并解析。本发明提出的技术方案无需将互联网上的PDF文件下载到本地进行阅读,因此互联网中的用户体验得到了提升。

Description

远程阅读PDF文件的方法
技术领域
本发明属于计算机软件和网络技术领域,特别涉及一种远程阅读PDF文件的方法。
背景技术
PDF(PortableDocumentFormat的简称,意为“便携式文档格式”),是由AdobeSystems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。可移植文档格式是一种电子文件格式。这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的MacOS操作系统中都是通用的。这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件在开始使用PDF格式文件。
由于PDF文件使用范围越来越广泛,因此市场上出现了许多不同的PDF阅读器。但是,由于目前的PDF阅读器都是本地PDF阅读器,只能进行本地PDF文件读取与访问,无法对互联网上的PDF文件进行读取与访问。
发明内容
【要解决的技术问题】
本发明的目的是提供一种远程阅读PDF文件的方法,以对互联网上的PDF文件进行读取与访问。
【技术方案】
本发明是通过以下技术方案实现的。
本发明涉及一种远程阅读PDF文件的方法,包括步骤:
A、向服务器发送http请求,获取待阅读PDF文件的长度,在本地创建临时文件,所述临时文件的长度与获取到的待阅读PDF文件长度相同;
B、向服务器发送http请求,获取待阅读PDF文件的头部数据和尾部数据,将获取到的头部数据和尾端数据保存至步骤A中所创建的临时文件中,所述头部数据和尾部数据按照预设数据长度进行获取;
C、从临时文件中解析PDF头信息,从临时文件的最后往前查找xref标识,查找到xref标识后解析xref标识内的object表,当识别到startxref标识后,根据startxref标识获取下一个xref表,依此方法获取所有的xref表,将获取到的xref表保存至临时文件中;
D、本地PDF阅读器的解码器读取临时文件中的xref表,读取各个xref表的object对象并解析。
作为一种优选的实施方式,所述步骤D中,当读取xref表的object对象时出现数据错误,则向服务器发送http请求,获取该xref表的object对象并保存在临时文件中。
作为另一种优选的实施方式,所述步骤A中创建的临时文件的扩展名为pdf。
作为另一种优选的实施方式,所述头部数据和尾部数据的预设数据长度均为100KB。
作为另一种优选的实施方式,所述xref表的存储结构为map键值对,所述map键值对的第一列为object序号、第二列为是否已经存储的标志。
【有益效果】
本发明提出的技术方案具有以下有益效果:
本发明采用http与PDF解码相结合的方法对远程PDF文件进行读取与访问,在解码的过程中,通过http获取文件对应的PDF头数据、xref表和Object对象的数据,并做缓存,然后PDF解码工具在缓存中读取数据,通过本发明,无需将互联网上的PDF文件下载到本地进行阅读,因此互联网中的用户体验得到了提升。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的具体实施方式进行清楚、完整的描述。
实施例一
实施例一提供一种远程阅读PDF文件的方法,该方法包括以下步骤:
(一)、客户端向服务器发送http请求,获取待阅读PDF文件的长度,在本地创建临时文件,其中临时文件的扩展名为pdf,临时文件的长度与获取到的待阅读PDF文件长度相同。
(二)、客户端向服务器发送http请求,获取待阅读PDF文件的头部数据和尾部数据,将获取到的头部数据和尾端数据保存至步骤(一)中所创建的临时文件中,其中头部数据和尾部数据按照预设数据长度进行获取,具体地,本实施例中的头部数据和尾部数据的长度均为100KB。
(三)、从临时文件中解析PDF头信息,从临时文件的最后往前查找xref标识,查找到xref标识后解析xref标识内的object表,当识别到startxref标识后,根据startxref标识获取下一个xref表,依此方法获取所有的xref表,将获取到的xref表缓存至临时文件中,具体地,xref表的存储结构为map键值对,map键值对的第一列为object表的序号、第二列为是否已经存储的标志。
(四)、本地PDF阅读器的解码器读取临时文件中的xref表,读取各个xref表的object对象并解析。当读取xref表的object对象时出现数据错误,则向服务器发送http请求,获取该xref表的object对象并保存在临时文件中,然后再解析,之后就不断的请求后面的object对象,并与解析过程并行处理,如果解析object对象时发现数据错误,则查询http请求状态,如果当前没有进行http请求,则发送http请求,否则,在临时文件中缓存的xref表中查看当前object对象是否已经缓存,如果没有缓存,则等待200毫秒,并在等待的时候通过http请求获取连续的100KB左右数据的object对象,如果数据总共少于100KB,则获取所有的object对象数据。如果已经缓存,就直接读取使用。获取到object对象完后,做好标记,并且让解码器进行解码。当解码器解码出错,而且出错原因为数据损坏,则进行http请求获取从当前object对象到之后100K左右数据大小的object对象,然后再次解码,尝试三次,如果均出错则报出错误,并且退出。需要说明,本实施例请求object对象数据时,每次刚好多于100K,请求object对象的大小的计算方式为:假设序号1~N的object对象的数据集和大于100K,序号1~(N–1)个object对象的数据集和小于100K,则需要请求序号1~N的object对象。
本实施例中,客户端与服务器基于http进行通信,并工作在一个独立的线程中,具体包括:
(1)、收到需要的http请求;(2)把请求加入队列Queue中;(3)从队列Queue中取请求,并完成请求的发送和接收,然后通知解码器运行;(4)循环步骤(3),并且步骤(3)从第一次http请求开始一直到完成所有文件内容的读取过程中一直运行,运行完毕后关闭或通过手动方式结束。
从以上实施例可以看出,本发明实施例采用http与PDF解码相结合的方法对远程PDF文件进行读取与访问,在解码的过程中,通过http获取文件对应的PDF头数据、xref表和Object对象的数据,并做缓存,然后PDF解码工具在缓存中读取数据,通过本发明实施例,无需将互联网上的PDF文件下载到本地进行阅读,因此互联网中的用户体验得到了提升。
需要说明,上述描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

Claims (5)

1.一种远程阅读PDF文件的方法,其特征在于包括步骤:
A、向服务器发送http请求,获取待阅读PDF文件的长度,在本地创建临时文件,所述临时文件的长度与获取到的待阅读PDF文件长度相同;
B、向服务器发送http请求,获取待阅读PDF文件的头部数据和尾部数据,将获取到的头部数据和尾端数据保存至步骤A中所创建的临时文件中,所述头部数据和尾部数据按照预设数据长度进行获取;
C、从临时文件中解析PDF头信息,从临时文件的最后往前查找xref标识,查找到xref标识后解析xref标识内的object表,当识别到startxref标识后,根据startxref标识获取下一个xref表,依此方法获取所有的xref表,将获取到的xref表保存至临时文件中;
D、本地PDF阅读器的解码器读取临时文件中的xref表,读取各个xref表的object对象并解析。
2.根据权利要求1所述的远程阅读PDF文件的方法,其特征在于所述步骤D中,当读取xref表的object对象时出现数据错误,则向服务器发送http请求,获取该xref表的object对象并保存在临时文件中。
3.根据权利要求1所述的远程阅读PDF文件的方法,其特征在于所述步骤A中创建的临时文件的扩展名为pdf。
4.根据权利要求1所述的远程阅读PDF文件的方法,其特征在于所述头部数据和尾部数据的预设数据长度均为100KB。
5.根据权利要求1所述的远程阅读PDF文件的方法,其特征在于所述xref表的存储结构为map键值对,所述map键值对的第一列为object表的序号、第二列为是否已经存储的标志。
CN201610111633.9A 2016-02-29 2016-02-29 远程阅读pdf文件的方法 Active CN105786778B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610111633.9A CN105786778B (zh) 2016-02-29 2016-02-29 远程阅读pdf文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610111633.9A CN105786778B (zh) 2016-02-29 2016-02-29 远程阅读pdf文件的方法

Publications (2)

Publication Number Publication Date
CN105786778A true CN105786778A (zh) 2016-07-20
CN105786778B CN105786778B (zh) 2018-04-27

Family

ID=56403187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610111633.9A Active CN105786778B (zh) 2016-02-29 2016-02-29 远程阅读pdf文件的方法

Country Status (1)

Country Link
CN (1) CN105786778B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635268A (zh) * 2018-12-29 2019-04-16 南京吾道知信信息技术有限公司 Pdf文件中表格信息的提取方法
CN110750960A (zh) * 2018-07-05 2020-02-04 武汉斗鱼网络科技有限公司 一种配置文件的解析方法、存储介质、电子设备及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455996A (zh) * 2010-10-27 2012-05-16 北京用乐科技有限公司 多文档格式至swf批量自动转换系统
CN102662983A (zh) * 2012-03-14 2012-09-12 南京新与力文化传播有限公司 一种在远程服务器上预览pdf文件的方法
JP5057460B2 (ja) * 2007-12-25 2012-10-24 キヤノンマーケティングジャパン株式会社 文書管理システム、文書管理装装置、文書管理方法、およびプログラム
CN104156341A (zh) * 2014-07-31 2014-11-19 武钢集团昆明钢铁股份有限公司 一种在线阅读系统与方法
CN104935666A (zh) * 2015-06-24 2015-09-23 智秦网络科技股份有限公司 一种用于移动端观看pdf文件的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057460B2 (ja) * 2007-12-25 2012-10-24 キヤノンマーケティングジャパン株式会社 文書管理システム、文書管理装装置、文書管理方法、およびプログラム
CN102455996A (zh) * 2010-10-27 2012-05-16 北京用乐科技有限公司 多文档格式至swf批量自动转换系统
CN102662983A (zh) * 2012-03-14 2012-09-12 南京新与力文化传播有限公司 一种在远程服务器上预览pdf文件的方法
CN104156341A (zh) * 2014-07-31 2014-11-19 武钢集团昆明钢铁股份有限公司 一种在线阅读系统与方法
CN104935666A (zh) * 2015-06-24 2015-09-23 智秦网络科技股份有限公司 一种用于移动端观看pdf文件的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750960A (zh) * 2018-07-05 2020-02-04 武汉斗鱼网络科技有限公司 一种配置文件的解析方法、存储介质、电子设备及系统
CN109635268A (zh) * 2018-12-29 2019-04-16 南京吾道知信信息技术有限公司 Pdf文件中表格信息的提取方法
CN109635268B (zh) * 2018-12-29 2023-05-05 南京吾道知信信息技术有限公司 Pdf文件中表格信息的提取方法

Also Published As

Publication number Publication date
CN105786778B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
US11163850B2 (en) System, method and computer program product for data transfer management
CN111400426B (zh) 一种机器人位置部署方法、装置、设备和介质
CN101997900A (zh) 一种跨终端的拷贝粘贴系统、装置及方法
JP2014041608A (ja) 期待された印刷出力と整合することを検証する機能を有するシステム、および検証する方法
CN114338548A (zh) 报文分流方法、装置、网络设备及计算机可读存储介质
CN105786778A (zh) 远程阅读pdf文件的方法
CN111832445A (zh) 工程图纸的定位方法及相关装置
CN110851091B (zh) 基于vdi的打印方法、装置、设备及存储介质
EP3018590B1 (en) Document processing method and system in wireless communications device
CN104182811A (zh) 数据中心基础运维管理系统及其控制方法
CN108846367B (zh) 生僻字处理方法、计算设备及计算机存储介质
CN103152606A (zh) 视频文件处理方法及装置、系统
WO2013067724A1 (zh) 一种云端用户映射系统和方法
CN110619579B (zh) 极速报盘方法、装置及计算机可读存储介质
US20140032744A1 (en) Method of comparing outputs in a plurality of information systems
CN101236622A (zh) 多终端并行排版方法、服务器及系统
US9817913B2 (en) Method and apparatus for collecting, merging and presenting content
WO2019049140A1 (en) SYSTEMS AND METHODS FOR PRINTING VARIABLE DATA
CN104182394B (zh) 服务器、终端和版式文件显示方法
CN107783737A (zh) 一种跨平台打印方法和系统
US8799351B1 (en) Communicating multiple files in markup language documents
CN102722484B (zh) 一种文件缓冲方法、装置及其应用
CN109697097A (zh) 数据处理方法及系统
CN115712887B (zh) 图片验证码识别方法、装置、电子设备及存储介质
US11983145B2 (en) Method and system of modifying information on file

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160720

Assignee: Sichuan Changhong Xinwang Technology Co.,Ltd.

Assignor: SICHUAN CHANGHONG ELECTRIC Co.,Ltd.

Contract record no.: X2023980043949

Denomination of invention: Method of Remote Reading PDF Files

Granted publication date: 20180427

License type: Common License

Record date: 20231030