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

前言 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有所帮助。

原文地址:https://www.cnblogs.com/yuanchenhui/p/WpfPdfExplorer.html

时间: 2024-08-29 23:02:47

pdf文件内容查看器 -- 采用wpf开发的相关文章

用PDF编辑器怎样修改PDF文件内容

对不熟悉PDF文件的人来说,打开PDF文件后会发现文档编辑修改不了,而且也没有对应的菜单与工具,那么PDF文件是不能编辑吗?其实这只是用来打开PDF文档的工具不同,通常我们都是用阅读器来打开PDF文件,查看文档的内容.而对文档内容进行修改的时候则是用编辑工具来打开文档的. 打开编辑器后可以看到菜单和工具栏与阅读器不同,在PDF阅读器上是没有这些编辑选项的.点击工具栏上的打开按钮,然后在打开窗口中选择需要编辑PDF文件打开. 文档打开后可以像阅读器那样查看文档,也能给文档做标记,在文档上添加一些注

深入学习python解析并读取PDF文件内容的方法

这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应用.主要参考了一些已有的博客内容,代码. 主要思路是首先利用一个做项目的形式,描述所做的问题,运行环境,和需要安装的库,然后写代码,此代码是在python2.7中运行,然后写出在python3.6中运行的代码,并详细解释python2.7和python3.6中python库的一些不同之处,最后详细的

使用PDF编辑器快速删除PDF文件内容技巧

我们在接触PDF文件的时候难免会对文件进行修改与编辑,但是大家都应该很清楚,PDF格式的文件是一种比较特殊而又简单的文件,文件特殊到需要使用专业的软件来修改这种文件,下面我们就一起来看看怎么删除pdf文件中不需要的文字吧! 1.打开电脑,在浏览器中输入"迅捷PDF编辑器",搜索该软件,并将它下载安装到电脑上. 2.运行软件,点击"打开"按钮,将要删除文字内容的PDF文件添加到软件的操作界面. 3.然后点击"编辑内容"按钮,鼠标点击你需要修改的文字

怎么直接编辑修改PDF文件内容

现在的一些办公文档普遍都是PDF格式,很多文档在传递时也都会转成PDF,但这种格式文件有一个不便之处,就是编辑处理起来没有有Word文档那么流畅顺手.对此,很多初涉职场或是初用PDF文件的人都不怎么会运用这个格式的文档.那么PDF文件该怎么修改内容呢? 不是所有pdf文件都是可以随意修改的,有些pdf扫描文件就不能像普通文档一样修改文字了,因为扫描的形成的文件内容都是图片格式.设置了加密保护的文档在打开时也是需要输入密码后才可以正常编辑. 要用pdf编辑工具打开pdf文件,Adobe Reade

robotframework 测试工具添加PDF文件内容匹配插件

robotframework  这个需要了解的请度娘.本文实现的是一个小功能.大体分为如下几个步骤 1)给定一个pdf文件. 2)读取pdf文件内容,并解析为文本内容. 3)通过给定的内容,比对pdf文件内容. 4)输出测试结果. 5)发送结果到指定邮件. 其中读取pdf文件内容,使用的是pdfminer 其他的就是自己包装. 涉及到部分隐私内容,部分代码如下: # -*- coding: UTF-8 -*- # coding=utf-8 #from __future__ import unic

怎样用PDF编辑器修改PDF文件内容

在日常工作和学习中都会使用到PDF文件,PDF文件不像Word文档可以直接修改编辑,PDF文件的编辑和修改是需要使用到PDF编辑工具的,那么,怎样用PDF编辑器修改PDF文件内容呢,是不是有很多的小伙伴想知道怎样操作的呢,那就一起来看看下面的文章了解一下吧. 1.打开运行PDF编辑器,在编辑器中打开需要修改的PDF文件. 2.打开文件后,选择编辑器中菜单栏里的工具,在工具中选择内容编辑,内容编辑中有内容编辑工具以及添加工具,点击内容编辑工具. 3.点击内容编辑工具后,在内容编辑工具中有全部内容,

如何修改PDF文件内容,一种方法省时省力

如何修改PDF文件内容呢?现在我们在使用PDF文件的时候,会遇到PDF文件中内容错误等问题,想要修改PDF文件不知从何下手,想要修改PDF文件就可以使用PDF编辑器来进行操作,下面小编就为大家操作一下修改PDF文件内容的方法. 具体操作步骤如下:1:首先将PDF编辑器安装到自己的电脑中,打开PDF编辑器将PDF文件添加到软件中.2:在软件中可以找到内容编辑工具,点击内容编辑工具,在下面内容的位置双击就可以选中需要更改的文字内容了.3:选中文字内容后,在上面可以找到颜色.字体.大小等设置,将文字设

怎么修改PDF文件内容呢?你知道这种方法吗?

怎么修改PDF文件内容呢?想要修改PDF文件内容就可以使用专业的PDF编辑器来进行操作,但是很多人不知道PDF编辑器怎么修改PDF文件,修改PDF文件内容推荐使用迅捷PDF编辑器来进行操作,下面小编就为大家分享一下迅捷PDF编辑器修改PDF文件的操作方法. 操作软件:迅捷PDF编辑器 操作步骤如下: 1:首先将迅捷PDF编辑器安装到自己的电脑中,打开PDF编辑器,将PDF文件添加到软件中. 2:在软件界面找到内容编辑工具,点击内容编辑工具,在下面内容位置双击,就可以直接修改PDF文件内容了. 3

采用WPF开发截图程序,so easy!

原文:采用WPF开发截图程序,so easy! 前言  QQ.微信截图功能已很强大了,似乎没必要在开发一个截图程序了.但是有时QQ热键就是被占用,不能快速的开启截屏:有时,天天挂着QQ,领导也不乐意.既然是程序员,就要自己开发截屏工具,功能随心所欲,岂不快哉. 再强调一点:工具就是生产力!没有掌握WPF之前,我是不会开发这么一个程序的,如果采用MFC.winform框架,工作量是相当的大,开发出来的效果肯定也比较low.本人用WPF,花了一天的功夫,开发了这个小程序.程序的定位就功能简单,平时工