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教程,可以使用全部功能,注意的是此方法对个人版无效. 没有必要再尝试别的文章,仅看这一篇即可!别的文章亲测是通过修 ...
随机推荐
- C#添加错误日志信息
错误日志是软件用来记录运行时出错信息的文本文件.编程人员和维护人员等可以利用错误日志对系统进行调试和维护. 系统日志 系统日志包含了由Windows系统组件记录的事件.例如,在启动期间装入驱动程序或其 ...
- 经验之谈-switch结构常见错误的分析与处理
1.缺少break语句 本来只想输出“出任武林盟主”可输出结果为 错误分析:在 switch结构中,每一个case语句块后面如果不写 break语句, switch就会 直接往下面的case语句块运行 ...
- IT兄弟连 HTML5教程 HTML5文字版面和编辑标签 小结及试题
小结 HTML标签包含结构标签和基础标签,基础标签是在页面制作最常使用的一些标签.基础标签包含标题标签(<h1>~<h6>).换行标签(<br>).段落标签(< ...
- Java入门总结
1. 一个Java源码只能定义一个public类型的class,并且class名称和文件名要完全一致: 使用javac可以将.java源码编译成.class字节码: 使用java可以运行一个已编译的J ...
- jQuery 源码解析(二十三) DOM操作模块 替换元素 详解
本节说一下DOM操作模块里的替换元素模块,该模块可将当前匹配的元素替换指定的DOM元素,有两个方法,如下: replaceWith(value) ;使用提供的新内容来替换匹配元素集合中的每个元 ...
- 以太坊智能合约开发 Solidity学习
1. pragma solidity >=0.4.22 <0.6.0;//版本号,头文件 contract BooleanTest { bool _a;//默认返回false int nu ...
- golang-基础
1.go的特点 兼具动态语言的开发效率与C,C++,java的性能安全性 ,内置编译器 2.go的安装 go的sdk下载: https://studygolang.com/dl go的IDE下载: ...
- .netcore2.1 使用IdentityServer4 生成Token验证
每个新技术权限验证都有一套机制,之前项目WebApi接口权限验证用的是Owin做为权限验证,而.netcore权限限制使用的是IdentityServer4,采用JWT的方法验证token. 首先使用 ...
- flvjs的unload(),detachMediaElement(),destroy()报错,undefined,not a function解决方案
首先,真的被网上一堆各种转载复制粘贴坑了不少,最后直接到GitHub上flvjs的看作者的demo和docs才解决,具体如下. 1.引入flvjs文件,新建实例 var flvUrl = '直播流地址 ...
- acwing 81. 扑克牌的顺子
地址 https://www.acwing.com/problem/content/77/ 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的. 2-10为数字本身,A为1,J为11, ...