纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

pdf文件内容查看器 -- 采用wpf开发

源之缘   2020-01-12 我要评论

前言 pdf是一种应用非常广的版式文档格式,已成为事实上的国际标准。关于pdf格式的文章汗牛充栋,本文也是关于pdf格式的文章,但是本文不是纸上谈兵;本人这几周一直研究pdf格式内容,不但对pfd格式的内容有所了解,同时也写了一款软件,可以方便查看pdf文件内容。使用该软件,同时结合pdf相关文章,可以很快掌握pdf格式内容。

软件截图: 软件下载地址 点我下载

pdf文件内容简要介绍

这里对pdf文件格式做个粗略介绍,只有了解了这些内容,才能知道如何使用该软件。

pdf文档总结构如下:

1)header:主要包含版本信息

2)tailer:pdf树结构的入口点。

 3)交叉索引表;该表包含pdf每个obj在文件中的位置,根据该表,可以快速定位和加载obj的内容。对于大文件,不必一次加载所有的内容,只需加载当前页包含的obj即可。

 4) body。 包含obj对应的内容。

pdf obj树状结构

要完成对pdf文件的分析和显示,首先需要构建pdf文件的obj的树状模型。这个树状模型的入口点就是trailer,trailer包含root元素(Catalog),其下包含Pages,Page。Page中包含内容和资源。

 

结合软件分析pdf文件格式

用该软件打开一个pdf文件,对照示例来分析。

1)pdf header: 

2)trailer和交叉引用表,

3)body 由一系列obj组成。每个obj由唯一编号,可根据编号定位到内容。

 4)文档树状结构

页集是页的集合,pdf规范建议用平衡树来组织页,便于快速查找。

 

编程心得。

1 不能严格按照pdf标准来分析pdf。

pdf文档应用非常广,生成pdf文件的软件非常多。不是所有的pdf文档都严格符合标准。所谓“林子大了,什么鸟都有“。所以开发软件要经过大量的pfd文档测试。

2 分析obj的内容

pdf索引表只给出了obj开始文件位置。obj一般包含dictionary和stream两部分。所以需要根据关键词来解析obj,这就需要有一定的技巧。dictionary开始和结束的关键字为“<<” 和">>",但是dictionary可能包含子dictionary。只靠关键字是无法确定dictionary的开始和结束位置的,需要一定的技巧。

 

 

 3 读取obj的效率。

不必一次加载所有的obj,可以采取按需加载。

后记 读取pdf文件的内容,在内存中构建obj树形结构,是下一步分析和显示pdf的基础。本人通过阅读相关资料,加上编写代码,实现了对pdf文件内容的分析。理论和实践相结合,就能快速的掌握相关知识。本软件可以方便的窥探pdf内部结构,希望该软件为你了解和开发pdf有所帮助。


相关文章

猜您喜欢

  • 利用 Hexo 或者 hugo 搭建个人博客

    我们无法选择生活的样子,但我们能够记下来。博客的开端其实,一切都是为了更好的装逼。好吧,我着相了。最开端想做..
  • JVM垃圾回收

    JVM 渣滓回收写在前面本节常见面试题问题答案在文中都有提到如何判别对象能否死亡(两种办法)。简单的引见一下..

网友评论

Copyright 2020 www.QB5200.com 【亲宝软件园】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式