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教程,可以使用全部功能,注意的是此方法对个人版无效. 没有必要再尝试别的文章,仅看这一篇即可!别的文章亲测是通过修 ...
随机推荐
- Spring afterPropertiesSet方法
1.init-method方法,初始化bean的时候执行,可以针对某个具体的bean进行配置.init-method需要在applicationContext.xml配置文档中bean的定义里头写明. ...
- java之可变个数的形参
//采用数组形参来定义方法 public static void test (int a, String[] books); //采用可变个数形参来定义方法 public static void te ...
- swoole是多进程还是多线程
由于PHP语言不支持多线程,因此Swoole使用多进程模式.在多进程模式下存在进程内存隔离,在工作进程内修改global全局变量和超全局变量时,在其他进程是无效的. 进程隔离 $fds 虽然是全局变量 ...
- MVC过滤器:过滤器执行顺序
如果某个Action过滤器运用了多种过滤器,那么过滤器的执行顺序是如何呢? 规则一:不同类型的过滤器有一个先后顺序 即执行顺序是:授权过滤器->动作过滤器->结果过滤器->异常过滤器 ...
- 解决html导出pdf中文乱码问题的正确姿势
简介 本文使用jspdf 1.5.3版.GitHub地址:https://github.com/MrRio/jsPDF jspdf是歪果仁开发的,因此在一开始就没想过支持非英文以外的文字,这就导致了非 ...
- [转]Paste from Excel into C# app, retaining full precision
本文转自:https://stackoverflow.com/questions/8614910/paste-from-excel-into-c-sharp-app-retaining-full-pr ...
- Dynamics CRM - js中用webapi基于fetchxml查询遇到的问题 -- Invalid URI: The Uri scheme is too long.
最近用WebApi做基于Fetchxml的查询的时候,遇到一个很蛋疼的报错:Invalid URI: The Uri scheme is too long. 检查了整个URL,也没发现有什么问题. - ...
- Thymeleaf常用语法:HTML属性设置
使用Thymeleaf的属性来设置HTML属性.(1)使用th:attr属性可以修改原来HTML节点的属性:(2)th:attr属性可以同时设置多个属性:(3)每一个HTML属性都有对应的Thymel ...
- bay——RAC_ASM ORA-15001 diskgroup DATA does not exist or is not mounted.docx
RAC ORA-15001: diskgroup "DATA" does not exist or is not mounted Oracle数据库识别不了存储Diskgroup ...
- Linux:DNS服务器搭建
DNS简介 DNS(Domain Name System)域名系统: 是一种采用客户端/服务器机制,负责实现计算机名称与IP地址转换的系统.DNS作为一种重要的网络服务,既是国际互联网工作的基础,同时 ...