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教程,可以使用全部功能,注意的是此方法对个人版无效. 没有必要再尝试别的文章,仅看这一篇即可!别的文章亲测是通过修 ...
随机推荐
- mysql 事务四要素杂谈
事务四要素 对于数据库来说,并发性和准确性是数据库需要权衡的两个点. 类似于我们的应用系统,又要要性能还要要准确. 数据准确性这一条来说,最好的控制就是串行化,都别急,一个一个来.这样数据就没问题了. ...
- javascript地址引用
javascript地址引用 var a = new Object(); a.price = ; var b = a; b.price = ; //b更改了属性值,a的属性值一起会被改变 alert( ...
- mysql中的事务隔离级别
事务是逻辑上的一组操作,要么都执行,要么都不执行. 事务最经典的.经常被拿出来说的例子就是转账了.假如小花要给小白转账1000元,这个转账会涉及到两个关键操作就是:将小花的余额-1000,将小白的余额 ...
- PostgreSQL TIMESTAMP类型 时间戳
PostgreSQL 提供两种存储时间戳的数据类型: 不带时区的 TIMESTAMP 和带时区的 TIMESTAMPTZ. TIMESTAMP 数据类型可以同时存储日期和时间,但它不存储时区.这意味着 ...
- 关于async function(){ let res = await } 详解
本文引自: https://www.jianshu.com/p/435a8b8cc7d3 async function fn(){ //表示异步,这个函数里面有异步任务 let result = aw ...
- 手把手教你避开组件cover-view的那些坑
腾讯位置服务基于微信提供的小程序插件能力,专注于(围绕)地图功能,打造一系列小程序插件,可以帮助开发者简单.快速的构建小程序,是您实现地图功能的最佳伙伴.目前微信小程序插件提供路线规划.地铁图.地图选 ...
- 编译原理之不懂就问-First集
老师PPT: 这条语言实在是..通俗易懂
- [PHP] 循环查看php-fpm的内存占用情况
在webmail的业务中进行发信,如果携带了附件,会把附件拼接内嵌到邮件正文里,这时会极大的占用内存,可以使用以下命令查看fpm的进程内存占用 ps --no-headers --sort -rss ...
- Putty 连接centOS7 超时问题
方法1: #vim /etc/ssh/sshd_config(添加或修改以下配置) ClientAliveInterval 60(每隔60秒给SSH客户端发送一次信号) ClientAliveCo ...
- JUC-0-JUC简介
Java JUC 简介 在 Java 5.0 提供了 java.util.concurrent (简称 JUC )包,在此包中增加了在并发编程中很常用 的实用工具类,用于定义类似于线程的自定义子 ...