PDF目录编辑器使用介绍
PDF 是一个比较优秀的文档格式,能够保证在任何终端显示的样式是一样的。但同时也带来了一个问题,就是编辑不方便,其实这也是这个格式特意为之的,无可厚非。不过其中的一个不方便 —— 添加目录不方便 —— 则是有点令人苦恼的,尤其是大篇幅的外文 PDF ,没有目录的话,手动翻找就没那么一目了然了。目前市面上,本人并没有找到一款方便快捷、轻巧专一的 PDF 目录编辑器,所以打算自己写一个相关软件,首先是自己用,进而也可与大家互相交流学习。
本软件取名为”PDF 目录编辑器”,使用 WPF 开发,调用第三方类库 Spire.PDF 免费版。
首先来看看软件界面:
“测试区” 是参照网上的文章(《C# 添加、修改和删除 PDF 书签》)做的例子,本软件也是受其启发而诞生的。感兴趣的朋友可以去那篇文章看看,就不赘述了。
接下来就看看本人扩展的功能,我们可以选取一个 PDF 来看看:
这本书是《C# 高级编程 (第 10 版)》,有 1480 页,所以目录也很多,载入也比较慢,所幸还是能正常载入的,哈哈。
载入之后各级目录就以树形展现在左边的区域了,此时中间区域的” 新增” 按钮就变得可用了,这个是新增目录用的,后面再说。
我们点击一个目录,则中间区域显示出该目录的信息,同时底下的” 修改” 和” 删除” 按钮也变得可用了:
目录的信息包括序号、标题、页码,序号这里目前有个 Bug,就是要点击一下其它项,再点回来才会显示,暂时没找到原因,不影响使用。
序号从 0 开始,支持多级显示,比如 2-1-1 级目录显示为 1-0-0:
这个后期可考虑改为人性化的显示(2-1-1)。至于页码,就是正常的从 1 开始的,不过注意是 PDF 文件的页码,不是书籍的页码。
下面我们换个简单的文件来演示,先演示最简单的删除:
删除主要是依据序号来删除的,所以也可以手动按格式输入序号来删除。点击” 删除” 后,会提示变更还未保存到文件,后续依次点击” 写入文件” 和” 刷新” 即可,当然,也可以勾上” 自动模式”,则会自动执行写入和刷新。
由于前面提到的 Bug,如果只有一条目录,则需手动输入序号 0,然后进行修改标题和页码:
至于新增,则可通过控制序号,来灵活地添加或插入兄弟目录或子目录:
基本是可以无限添加的:
最后是关于页面:
开源地址:https://gitee.com/dlgcy/SpirePdfTool
下载地址:https://download.csdn.net/download/w19921004/11262863
同步首发:http://dlgcy.com/spire-pdf-tool/
PDF目录编辑器使用介绍的更多相关文章
- 后台文本编辑器KindEditor介绍
后台文本编辑器KindEditor介绍 我们在自己的个人主页添加文章内容的时候,需要对文章内容进行修饰,此时就需要文本编辑器助阵了! 功能预览 KindEditor文本编辑器 KindEditor文本 ...
- Unity 3D编辑器扩展介绍、教程(二) —— 创建窗口
Unity编辑器扩展教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Brief Introd ...
- 获取和设置pdf目录
目录 前言 工具 获取pdf目录 获取toc格式目录 获取json格式目录 设置pdf目录 结语 前言 获取pdf目录:主要场景是为了拿到目录信息做编辑,从pdf软件里面一个个复制那肯定费时费力. 设 ...
- vim编辑器基本操作介绍
vim编辑器基本操作介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能很多小伙伴都听说过vi编辑器或是vim编辑器.它们是Unix和Linux世界最流行的编辑器之一,他们的特 ...
- 03-Linux各目录及每个目录的详细介绍
Linux各目录及每个目录的详细介绍 [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所 ...
- 详细的linux目录结构详细介绍
详细的linux目录结构详细介绍 --树状目录结构图 下面红色字体为比较重要的目录 1./目录 目录 描述 / 第一层次结构的根,整个文件系统层次结构的根目录 /bin/ 需要在单用户模式可用的必要命 ...
- linux的目录结构详细介绍
linux的目录结构详细介绍 1. /目录(根目录) 2./ect/目录 特定主机系统范围内的配置文件. 3./usr/目录 默认软件都会存于该目录下.用于存储只读用户数据的第二层次:包含绝大多数的用 ...
- Android原生PDF功能实现:PDF阅读、PDF页面跳转、PDF手势伸缩、PDF目录树、PDF预览缩略图
1.背景 近期,公司希望实现安卓原生端的PDF功能,要求:高效.实用. 经过两天的调研.编码,实现了一个简单Demo,如上图所示. 关于安卓原生端的PDF功能实现,技术点还是很多的,为了咱们安卓开发的 ...
- 福昕foxit phantom pdf高级编辑器企业版10.1 pro安装破解教程
本文提供福昕foxit phantom pdf高级编辑器企业版10.1的安装教程.pj教程,可以使用全部功能,注意的是此方法对个人版无效. 没有必要再尝试别的文章,仅看这一篇即可!别的文章亲测是通过修 ...
随机推荐
- gmail 批量删除邮件
前几天我在 github上 star 了一下 angular 项目,然后8,9 天的时间收到了很多邮件,起初我没注意看具体数量,直接全选-删除.结果删了 3,4 页了还有很多.再仔细一看,一万多封邮件 ...
- 【Linux命令】setfacl、getfacl命令基本用法(文件权限全文控制列表acl)
一.setfacl命令setfacl用来细分linux下的文件权限. chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说,setf ...
- 为什么 JavaScript 中 0.1+0.2 不等于 0.3 ?
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/2kea7-jACCJmSYBQAwXyIg作者:刘洋 在 js 中进行数学的运算时,会出现0. ...
- cookie及其特点
关于cookie我们首先要知道cookie是指会话跟踪技术 我们可以用它来做一下事情,但是我们需要清楚cookie是不安全的 功能: 会话状态管理(如用户登录状态.购物车.游戏分数和其它需要记录的信息 ...
- 解决spark dataframe get 报空指针异常 java.lang.NullPointerException
Spark 编程读取hive,hbase, 文本等外部数据生成dataframe后,一般我们都会map遍历get数据的每个字段,此时如果原始数据为null时,如果不进行判断直接转化为string,就会 ...
- C# detect latest .net framework installed on PC
static void GetNetVersionDemo() { using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.L ...
- Emoji 映射编码
Emoji官网:https://emojipedia.org/ Name Unified DoCoMo KDDI Softbank Google Wechat black sun with r ...
- 本地SQL Server数据库提示网络问题无法连接
运行程序时发现本地SQLserver数据库无法连接,提示信息为:在与SQL Server 建立连接时出现与网络相关的或特定与实例的错误.未能找到或无法访问服务器.请验证实例名称是否正确并且SQL Se ...
- Docker-核心笔记(含Dockerfile,Compose)
Docker-核心笔记(含Dockerfile,Compose) 2017/03 Chenxin 参考 https://yeasy.gitbooks.io/docker_practice Docker ...
- 去掉烦人的“!=null"(判空语句)
文章首发于公众号 松花皮蛋的黑板报 作者就职于京东,在稳定性保障.敏捷开发.高级JAVA.微服务架构有深入的理解 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != nu ...