拿到一个没有目录的pdf,因为实在太不爽……所以想有没有办法自动化的方法可以生成目录QUQ,查了查果然acrobat有js的api可以提供,但是写完之后发现只能在acrobat上面能索引QUQ,其他的阅读器都不能用索引……只能看见目录……真真不爽!!(*  ̄︿ ̄)

先说下思路吧……挺傻的……一般当当这样卖书的地方都有书的目录和页码,这个很好找的嘛。然后copy到txt里,先用python把它变成数组(因为懒所以都是一级的目录),然后用js脚本添加数组做成目录。

python:

#usr/bin/env python
#-*- coding:utf-8 -*-import re, sysreload(sys)
sys.setdefaultencoding('utf8')filename = "catagory.txt"
output = "result.txt"file = open(filename, "r")
out = open(output, "w")ret = "["
pat = re.compile(r'(.*?)(\d{1,4}$)')
for line in file.readlines():try:tmp =  re.findall(pat, line)print tmp[0][0], tmp[0][1]ret += "['" + tmp[0][0].strip() + "', " + tmp[0][1] + "],\n"except:ret += "['" + line.strip() + "'],\n"ret += "]"
out.write(ret)file.close()
out.close()

简直so easy有没有……我觉得我把python真的是当工具用的……

然后js代码,这个是官方的文档上直接有的:

function createBookMark(parent){for(var i=0;i<arr.length;i++){if(arr[i].length>1)parent.createChild(arr[i].[0], "this.pageNum=16+"+arr[i].[1]); //这个16是pdf中的页码和书目原来页码的偏移量else parent.createChild(arr[i].[0]);}
}

createChild(name, script)。第一个是书签的名字,第二个是对这个书签做什么,然后可以把pageNum设置成目标页码。

我做的是白帽子讲web安全……大致出来结果是这样的:

但是只能在acrobat里面用QUQ,嘤嘤嘤

【小工具】用js自动生成pdf目录索引相关推荐

  1. 免费翻译英文文献自动生成PDF双语文档小技巧

    所需软件 有道词典(网页版即可) 印象笔记(浏览器插件+PC客户端) 看外文文献时,因为语言问题阅读缓慢,想要生成中文版论文,一段段手动翻译太麻烦,而且也懒得自己再排版,这里介绍一个快速翻译英文文献自 ...

  2. JavaScript自动生成博文目录导航

    http://www.cnblogs.com/xdp-gacl/p/3718879.html 为博客园添加目录的配置总结 http://www.cnblogs.com/jiangz/p/3734968 ...

  3. [转]JavaScript自动生成博文目录导航

    转自:http://www.cnblogs.com/xdp-gacl/p/3718879.html 我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲 ...

  4. JavaScript自动生成博文目录导航/TOP按钮

    博客园页面添加返回顶部TOP按钮 进入网页管理->设置 在"页面定制CSS代码"中添加如下css样式,当然你可以改为自己喜欢的样式 此处可以将背景色background-co ...

  5. 自动生成PDF文件(Java通过PDF模板自动生成PDF)

    思路: 1.创建PDF模板(先创建对应的excel文件,创建好后另存为PDF文件)即可. 2.使用Adobe Acrobat DC工具打开PDF文件,设置自己想要替换的内容. 3.maven项目引入依 ...

  6. Jquery实现自动生成二级目录

    在博客园开通博客以后,就看到某位博友写的js自动生成目录的文章,当时觉得生成目录能给阅读带来方便,所以就直接拿来使用了.用了一段时间以后,发现只能生成一级目录,不能生成多级目录,有点美中不足.所以想着 ...

  7. python合并pdf 加书签_Python生成pdf目录书签的实例方法

    有时候我们用的一些pdf资料是没有目录的,这样找寻我们想到的东西比较麻烦.本篇文章就为大家带来python来生成pdf目录书签的方法. 首先,我们需要下载一个软件FreePic2Pdf,利用它我们可以 ...

  8. 渗透工具NessusToReport:一个nessus自动报告生成工具,可以用来自动生成nessus扫描器的中文报告--NessusToReport

    Git地址: Hypdncy/NessusToReport: nessus扫描报告自动化生成工具 (github.com) NessusToReport 这是一个nessus自动报告生成工具,可以用来 ...

  9. 大论文 自动生成标题目录、图目录和表目录

    大论文 自动生成标题目录.图目录和表目录 到了写大论文的时间啦,结果卡在了目录生成这里,各种小问题,网上找了找,没有一个较为系统地说明,花费了一些时间,在这里系统地介绍一下. 标题目录自动生成 1.刚 ...

  10. 根据文章中H标签自动生成文章目录

    以前看到csdn上的目录结构就想把它移植到博客里,今天抽了个空从csdn上拔下了代码. js代码,复制放入到single.php页面中 <script type="text/javas ...

最新文章

  1. OpenCL产业开发链
  2. 打印不同对象的字节表示 ( 对int*强制转换成unsigned char*的理解 )
  3. Redis运维优化的陷阱及避坑指南
  4. BCH独立日最好的礼物——Token发行已实现
  5. virtaulbox视图模式常用切换
  6. 十条实用的jQuery代码片段
  7. 学习手记(2021/3/19~?)
  8. jasmine单元测试_使用Jasmine,Spock和Nashorn测试JVM服务器端JavaScript
  9. 常规RPC通讯过程【转载】
  10. 1tensorflow 实现端到端的OCR:二代身份证号识别 + 2tensorflow LSTM+CTC实现端到端的不定长数字串识别
  11. 下载的java游戏怎么运行不了_不支持JAVA的手机如何下载运行游戏和QQ
  12. CVPR等会议论文集检索下载与数据库资源使用
  13. EDM 文件编写规范及注意事项
  14. WinSxS目录下文件的清除
  15. excel表格打印每页都有表头_表头如何自动编号?日常工作中的表格打印常见问题解答...
  16. java不会英语可以学习吗,详细说明
  17. 【老生谈算法】matlab实现EKF UKF PF三种算法对比源码——EKF UKF PF算法
  18. 日本现场常用日语词汇
  19. 【Docker镜像文件加载原理生产中重新制作并提交镜像文件案例演示】
  20. [linux学习](linuxprobe课程)十二 使用Bind提供域名解析服务

热门文章

  1. Visual Studio Code启动时提示“Code安装似乎损坏。请重新安装。”、标题栏显示“不受支持”信息的解决办法
  2. C++核心准则T.10:为所有的模板参数定义概念
  3. 计算机断电会自动重启吗,电脑开机断电或自动重启的分析及解决方法
  4. java groovy_java 和groovy的混合使用
  5. Python实现远程控制桌面功能(不使用微信等任何接口),并在不同局域网下控制(已更新)
  6. Android 热更新Robust 浅析
  7. html embed自动播放,embed嵌入多个优酷视频并自动播放
  8. asp dsn mysql 连接失败_Asp透过系统DSN链接mysql数据库
  9. 信念就是一种观念对不对_思路决定出路 观念决定方向 性格决定命运 要改变命运 先确立信念...
  10. 升级wamp的php版本,Wamp升级PHP版本