PDF快速创建目录
很多从网上直接下载的PDF电子书目录都不全,因此搜索资料又加以改化,总结了一个自己手动快速创建目录的办法,分享给大家。
- 百度搜索PDF电子书的目录或者直接从PDF拷贝到Notepad++等编辑器,使用正则表达式进行全局替换,将目录进行格式化,替换规则如下:
- 第二级向右移动一个Tab位:^(([A-Z]{1,3}|[a-z]{1,3}|[0-9]{1,3})(\.[0-9]{1,3})) 替换为 \t\1,\1表示原来的字符
- 第三级向右移动一个Tab位:(\t([A-Z]{1,3}|[a-z]{1,3}|[0-9]{1,3})(\.[0-9]{1,3}\.[0-9{1,3}])) 替换为 \t\1
- 章节与标题之间使用空格分隔,标题与页码之间使用Tab分割,可以统一替换为空格,然后将标题和页码之间的空格替换为Tab,使用:\s(?=\d+$) 替换为 \t
- 正文之前的内容如序、前言、目录可以使用负数表示,也可以从0开始,但正文目录也需要随着改变
- 原格式与效果图对比如下:
.png)
- 下载 FreePic2Pdf 工具进行PDF文件的目录抽取与添加:
- 首先进行PDF文件的书签抽取,即抽取PDF书签接口,选择“从PDF取书签”选项,选中PDF文件,开始生成书签,会生成接口目录,包含两个文件:
- FreePic2Pdf_bkmk.txt,目录文件,将我们格式化后的内容复制替换掉原来的
- FreePic2Pdf.itf,配置信息,一般修改 BasePage 参数,即我们格式化后的目录第一页对应PDF的那一页。另外能够配置打开PDF时是否打开书签,是否展开所有书签等
- 修改完目录及配置后切换到”往PDF挂书签“选项,最好选择点击书签后页面缩放为“适合宽度”,选择PDF文件及生成的接口文目录,开始即可
.png)
.png)
PDF快速创建目录的更多相关文章
- Itextpdf + Adobe Acrobat DC填充模板生成pdf快速入门
Itextpdf + Adobe Acrobat DC填充模板生成pdf快速入门 生成pdf有很多种方法,如通过freemarker,或 使用itextpdf.本文将使用itextpdf生成pdf 1 ...
- 在.NET中使用iTextSharp创建/读取PDF报告: Part I [翻译]
原文地址:Create/Read Advance PDF Report using iTextSharp in C# .NET: Part I By Debopam Pal, 27 Nov 20 ...
- saltstack手册(含官方pdf)
官方手册 https://docs.saltstack.com/en/pdf/Salt-2019.2.1.pdf 快速入门 SALTSTACK是什么? Salt是一种和以往不同的基础设施管理方法,它是 ...
- httprunner_安装及利用脚手架工具快速创建项目
一.安装httprunner 笔者自己安装的版本为2.5.7 安装命令: pip install httprunner==2.5.7 二.快速创建目录 hrun --startproject dem ...
- Xcode使用小结1
工程项目 -> General->launch Screen file这个如果没有设置,则app的可见范围为3.5inch(APP的可见范围是由启动界面决定的) PUSH方法是在navig ...
- ACM赛前准备——模板(排版篇)
ACM赛前准备--模板(排版篇) 更新 前言 效果演示 封面 目录页 模板页(不分栏) 模板页(分栏) 结果文件 快速使用 准备工作 安装TexLive (可选)安装minted包 创建模板 文件结构 ...
- MinIO 搭建
MinIO 搭建 MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务.它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文 ...
- 在线visio软件,在线流程图软件,在线绘图、在线画图
1. https://www.bullmind.com/ 推荐bullmind的在线visio软件,一种低成本的Visio替代品.bullmind是基于 网络的绘图工具,具有出色图表功能.您可以使用b ...
- linux可以这样玩 之 杂乱无章的随笔(不定期更新)
文章目录 快速重命名 vim的进化 vim高亮当前行 vim列编辑 vim块编辑 vim行编辑 vim 中替换内容 vim保留当前已经编辑的内容,切换到其他用户继续编辑 修改服务的进程限制 CentO ...
随机推荐
- Mina框架的学习笔记——Android客户端的实现
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...
- spring线程并发处理(ThreadLocal)
我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度.这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突. 我们使用模板类访问底层数据,根据持 ...
- [CP1804]组合数问题2
题目大意: 给定两个数$n(n\le10^6)$和$k(k\le10^5)$,找到$k$个不同的满足$0\le b\le a\le n$的组合数$\binom a b$,求这$k$个组合数的最大值. ...
- ffmpeg yasm not found, use --disable-yasm for a crippled build
yasm是汇编编译器,因为ffmpeg中为了提高效率用到了汇编指令,比如MMX和SSE.解决这个问题方面有两个: 1.在网上下载一个yasm.exe并安装在mingw/bin下面,编译代码时你注意看, ...
- phpredis Floating point exception
发生在高版本的gcc编译后的so用于低版本gcc编译出来的php, 解决方法, 加上参数-Wl,--hash-style=sysv phpize ./configure vi Makefile CC ...
- CSS背景属性background
background属性是所有背景属性的缩写: 以下是这些背景属性: background-color:背景颜色 你可以通过颜色名称(red/green/blue)来设置 也可以用十六进制(#fff/ ...
- Visual Studio 行末回车时运算符两侧自动加空格是怎么设置的
在工具—>选项->文本编辑器->c#->格式设置->间距后有三个选项 如果已经选中"二元运算符前后插入空格" 而VS又抽风没有这个功能时,可以选中其余 ...
- matlab坐标轴设置
1. axis([xmin xmax ymin ymax]) 设置当前图形的坐标范围,分别为x轴的最小.最大值,y轴的最小最大值 2. V=axis 返回包含当前坐标范围的一个行向量 3. axis ...
- JAVA生成问答式验证码图片,支持加减算法
原文:http://liuguihua0823.iteye.com/blog/1511355 import java.awt.Color; import java.awt.Font; import j ...
- VMware报错“原因: 未能锁定文件”,打开失败
原文:http://jingyan.baidu.com/article/425e69e6bf64dbbe15fc16fe.html VMware打开复制的虚拟机,报错“原因: 未能锁定文件”,打开失败 ...