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教程,可以使用全部功能,注意的是此方法对个人版无效. 没有必要再尝试别的文章,仅看这一篇即可!别的文章亲测是通过修 ...
随机推荐
- win10系统怎么设置软件开机启动
win10开机自动启动软件设置教程: 1:在windows10桌面,右键点击桌面左下角的开始按钮,在弹出的菜单中选择运行菜单项. 2:这时就会打开windows10的运行窗口,在窗口中输入命令shel ...
- Nginx 常用模块
Nginx 常用模块 1. ngx_http_autoindex_module # ngx_http_autoindex_module模块处理以斜杠字符(' / ')结尾的请求,并生成一个目录列表. ...
- JS获取url请求参数
JS获取url请求参数,代码如下: // 获取url请求参数 function getQueryParams() { var query = location.search.substring(1) ...
- HttpModules配置事项
前沿:还是那句话 ASP.NET管道,浏览器 - isAPI32.dll - HttpModules - HttpHandler - 返回客户端Web.Config:<httpModules&g ...
- JS基础语法---作用域
作用域:使用范围 全局变量: 声明的变量是使用var声明的, 那么这个变量就是全局变量 全局变量可以在页面的任何位置使用 除了函数以外, 其他的任何位置定义的变量都是全局变量 局部变量:在函数内部定义 ...
- Android 开发时使用 ViewPager 的问题及解决方案整理
1. ViewPager 的页面重置问题 当我们使用ViewPager控件时,假设我们的ViewPager有三页,当我们第一次启动ViewPager显示第一页的时候,ViewPager会预加载第二页, ...
- MySql 库/表级操作 及 数据类型
数据库分类 关系型数据库(SQL):存储方式固定,安全 非关系型数据库(NoSQL):存储方式比较灵活,存储数据的效率比较高,不太安全 MySQL是一种关系型数据库管理系统(采用关系模型来组织管理数据 ...
- SQL语句添加表外键
ALTER TABLE 表名 ADD CONSTRAINT FK_ID FOREIGN KEY(外键列) REFERENCES 外键表(外键表主键)
- Linux—挂载磁盘(云盘)
创建挂载目录 [root@localhost ~]# mkdir -p /www 可以看到/dev/vda1盘挂载/ /dev都是位于根路径下,都属于系统盘.根路径 / 都是位于系统盘.而/root, ...
- [PHP] cli环境下php设置进程名字
if (function_exists('cli_set_process_title')) { cli_set_process_title("superman php master proc ...