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开始,但正文目录也需要随着改变
- 原格式与效果图对比如下:
- 下载 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 ...
随机推荐
- PHP 时间获取本周 本月 本季度用法
<?php $week_begin = mktime(0, 0, 0,date("m"),date("d")-date("w&qu ...
- 考勤的lua脚本
ngx.header.content_type = "text/plain;charset=utf-8" local cjson = require "cjson&quo ...
- ASP.NET增加微信公众号功能
最近微信的公众号使用的挺多的.我们也弄了个,现在有个需求就是在用户点击菜单的时候,获取用户的OPENID,然后作为后续使用. 首先记录下步骤, 安装必要的dll引用 install-package s ...
- 牛客网 暑期ACM多校训练营(第二场)D.money-贪心 or 动态规划
D.money 贪心,直接贴官方的题解吧. 题目大意 你要按照顺序依次经过n个商店,每到达一个商店你可以购买一件商品,也可以出售你手中的商品. 同一时刻你手上最多拿一件商品.在第i个商店购买和出售的代 ...
- POJ 2524 Ubiquitous Religions (并查集)
Description 当今世界有很多不同的宗教,很难通晓他们.你有兴趣找出在你的大学里有多少种不同的宗教信仰.你知道在你的大学里有n个学生(0 < n <= 50000).你无法询问每个 ...
- ELK之收集日志到mysql数据库
写入数据库的目的是持久化保存重要数据,比如状态码.客户端浏览器版本等,用于后期按月做数据统计等. 环境准备 linux-elk1:10.0.0.22,Kibana ES Logstash Nginx ...
- Linux的软连接和硬连接
1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索引 ...
- jsp笔记1(基本原理与语法)
web.xml文件配置管理的范围: 1.配置jsp 2.配置和管理Servlet 3.配置和管理Listener 4.配置和管理Filter 5.配置标签库 6.配置jsp属性 7.配置和管理JAAS ...
- unity3d Billboard
CameraFacingBillboard CameraFacingBillboard From Unify Community Wiki Jump to: navigation, searc ...
- 六. 异常处理5.多重catch语句的使用
某些情况,由单个代码段可能引起多个异常.处理这种情况,你可以定义两个或更多的catch子句,每个子句捕获一种类型的异常.当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句执行.当 ...