CN105786778A - 远程阅读pdf文件的方法 - Google Patents
远程阅读pdf文件的方法 Download PDFInfo
- 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
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000008520 organization Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing 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(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表的序号、第二列为是否已经存储的标志。
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)
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)
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文件的方法及系统 |
-
2016
- 2016-02-29 CN CN201610111633.9A patent/CN105786778B/zh active Active
Patent Citations (5)
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)
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 |