想要直接了解步骤的朋友,请跳转到下面的“Evermap公司的AutoBookmark插件“小节。

在最近的硬盘灾难中,与积累的大批电子书一起丢失的还有我在这些资料上做的笔记和修改,这其中就包括为pdf文件手工添加的目录书签。浏览和阅读pdf格式的电子书时,目录书签的便利是无可取代的。有些制作精良的pdf文件自带目录书签,没有的就需要读者自己添加。我以前都是读到某个章节或者根据目录跳转到需要阅读的章节,在该位置手工添加书签。假如pdf是文字格式的,只需选中章节标题、复制,再点击书签栏的新建按钮,创建的书签就会具有复制的标题。假如pdf是图片格式的,就麻烦一些,需要手工输入书签标题。

我重新下载了一本重要的pdf电子书,该书只有目录,以前辛辛苦苦手工积累的几十个书签已不复存在,再次手工添加无疑令人沮丧。我想到了能否根据目录自动添加对应的书签,通过pdf工具软件或者pdf支持的JavaScript编程应该都有可能。

上网搜索的结果证实了我的推测。采用JavaScript编程理论上是可行的,但操作起来难度较大。Adobe对pdf的编程支持无论是开发环境还是文档,皆远比不上微软对Office的开发方案。官方网站上的一篇十余年前的用JavaScript创建书签的教程,说明能用代码实现的功能十分局限,只有Bookmark.createChild和Menu.execute两种途径,不能设置书签的层级、前者只能创建运行JavaScript脚本的书签,后者只能在当前位置创建书签。根据Adobe最新的pdf的JavaScript API文档,现在pdf的可编程性改进了,不过要基于目录创建书签依然不是一项简单的任务。而且Adobe的Acrobat PDF阅读器免费版是不支持运行自定义JavaScript的,支持JavaScript插件的版本收费几百美金。即使使用国内的破解版,也会发现其JavaScript的编辑环境简陋得令人震惊——仅有一个文本框。

工具方面,开发了广为流行的Foxit PDF阅读器的Foxit公司的debenu子公司有一款Aerialist产品,根据网站上的介绍能够自动创建书签。该软件的售价同样高达几百美金,幸好有个免费试用版。网站要求输入用户名、邮箱和电话等信息才能下载试用版,这本来很正常,然而精明的debenu公司为了确保用户来自企业,要求邮箱是企业邮箱而非163、Gmail等公用的个人邮箱,杜撰一个企业邮箱地址通过验证后,网页提示下载链接已经发往该邮箱。

Evermap公司的AutoBookmark插件

该插件的介绍(https://www.evermap.com/autobookmark.asp#StartBookmarks)令人心动,列明具备从目录创建书签的功能。个人用户的版本也要200多美金,让我们下载30天试用版一探究竟。

依据菜单的文字,选择Bookmarks\Bookmark table of contents,提示要先选中目录,如果需要更精确的控制,可以使用Bookmarks\Bookmark words from list菜单项。于是调用该命令,根据弹出的对话框的提示,将要为其创建书签的目录项粘贴到文本框中,勾选若干选项,运行。结果是创建的书签指向了目录页面,原因也不奇怪,该功能是根据文本在pdf中搜索,在某个位置找到后便创建指向该位置的书签,目录中的文本当然是首先被找到的。

我希望利用的是目录中的页码,遂回过头使用Bookmark table of contents命令,选中部分目录试验,效果非常好。缺点有两条,一是创建的书签位于同一层级,没有按照目录那样分层;二是跳转到的页面都缩小到不合适的比例。第一个问题只能手工解决,通过剪切书签,再粘贴到某个书签下面或后面,来创建正确的层级。第二个问题经过猜测和试验可以利用Bookmarks\Modify bookmarks\Set zoom types菜单项来解决,在弹出的对话框中,将页面的伸缩类型设为默认的Inherited,运行后所有书签打开的页面都将使用用户设置的伸缩比例。

如何自动创建目录?

目录虽然在电子阅读器中不像书签那样方便,但作为文件的一部分,有些读者还是有需求的,特别是在打印成纸质件的场景中。在Word中,可以利用文档中的标题自动创建目录。通用的pdf阅读器没有这样的功能,变通的方法是先将pdf转换成word文档,生成目录后再转换回pdf文件。

另外,如果已经有指向各章节的书签,上面介绍的AutoBookmark插件有Table of contents\Create TOC from bookmarks的功能。

如何给pdf文件自动添加目录和书签?相关推荐

  1. 如何给word文件自动添加目录?

    大学生朋友.使用word文档的朋友,当你们写完了一份word文件之后发现还要添加一个目录,自己手动添加目录是不是很麻烦,而且,当我们改变了内容之后,文件的页码也会发生改变,那么目录也就需要跟着一起更改 ...

  2. PDF文件如何搜索目录(书签)

    最近在看技术类电子书时,发现目录很长,不好定位,查找了一下资料,结果记录如下. 以福昕阅读器为例 搜索结果如下,这样方便查看目录(书签)条目很多的PDF文件

  3. python读取pdf文档书签 bookmark_用Python为PDF文件批量添加书签

    平时看一些大部头的技术书籍,大多数都是PDF版的,而且有一些书籍是影印扫描版的,几百上千页的书,没有任何书签,想要找到一个章节的位置非常费劲.那么就想,能不能搞一个工具,来自动地为这些大部头的PDF书 ...

  4. 【分享】博客美化(6)为你的博文自动添加目录

    博客园美化相关文章目录:博客园博客美化相关文章目录 这篇文章使用的代码来自于博客园的marvin,非常感谢.在他的文章:如何给你的为知笔记添加一个漂亮的导航目录中,介绍了给文章自动添加目录的过程,我当 ...

  5. 【分享】博客美化(6)为你的博文自动添加目录【转】

    转自:http://www.cnblogs.com/asxinyu/p/4344153.html 阅读目录 1.目录样式文件 2.为文章添加固定的信息 3.自动生成目录代码 博客园美化相关文章目录:博 ...

  6. sublime 设置新建文件自动添加author(作者)等文件头信息

    很多时候, sublime 自带自动添加文件头信息, 但是并不是我们想要比如下面这样的: 新建一个python文件 自动添加的author 信息 == 上面并不是我想要的, 我想要下面这样的效果: = ...

  7. PDF文件如何添加签名

    PDF文件如何添加签名?在我们平常的工作中,许多文件都需要签名确认执行.如果有一份PDF文件需要签名,屏幕前的你知道应该如何操作吗?如果你并不了解PDF文件应该如何添加签名,那么没关系,继续往下阅读你 ...

  8. python使用fpdf生成pdf文件并添加页眉和页脚

    python使用fpdf生成pdf文件并添加页眉和页脚 目录 python使用fpdf生成pdf文件并添加页眉和页脚 #加入页眉header示例

  9. java pdf添加透明水印_如何在PDF文件中添加透明水印

    原标题:如何在PDF文件中添加透明水印 有些文件添加水印,但是又不想水印影响文件的使用有时候会设置透明水印,那么PDF怎么设置透明水印呢,应该有很多的小伙伴们都很好奇应该怎么做吧,接下来就为大家分享一 ...

  10. PDF文件如何添加页面或插入其他PDF页面

    在处理PDF文件的时候如果要在文档中添加插入一个页面,或者是插入其他pdf文件页面的话该怎样操作?编辑PDF文件是否像office文档那样操作简单?下面就来讲下PDF文件怎么添加页面的. ​ 因为PD ...

最新文章

  1. 程序员必备技能-科学砍需求
  2. leetcode 18 -- 4Sum
  3. 浅谈SpringBoot的基本概念与简单的使用与yml文件的基本使用, 整合Redis,整合MyBatis
  4. php在什么方面使用使用队列,你知道在什么情况下使用队列吗?
  5. ios keychain 不被清理_苹果手机卸载软件会不会有残留?带你认识iOS沙盒机制!...
  6. openssl 创建 CA 详细操作手册
  7. mysql 导出bson格式_mongodb 导入导出GridFS【图片/文件/视频/音频等多媒体文件的导入导出】...
  8. Mybatis学习(2)—— 对象关系映射
  9. Linux卸载JDK的方法
  10. dhcp、tftp基础
  11. vue 时间方法(yyyy-mmmm-dddd hh:mm:ss)
  12. 计算机主机sn号怎么查看,笔记本序列号怎么看_笔记本电脑SN序列号的查看方法-win7之家...
  13. python turtle绕原点旋转_Python教程小小turtle绘图教学 (二)
  14. 命令行重启Mysql
  15. 初中数学结合计算机教学设计,依托信息技术进行初中数学教学设计
  16. 润叶在他最低沉的时候是谁在他的身边
  17. 【Redis】基础篇
  18. Shader中的 mul()函数解释
  19. jquery照片流_使用自定义图像集创建Ajaxy照片库(jQuery)
  20. Java实现简易聊天软件_类QQ(含课程论文、实施计划书、演示视频、答辩PPT、源代码及运行环境)

热门文章

  1. 密码攻略 黑客亲手打造QQ密码破解器(转)
  2. Selenium2 Python自动化测试实战(第二版)第一部分 自动化测试基础-总结笔记
  3. 用AD9画51单片机的最小系统
  4. 周立功bms汽车锂电池管理系统解决方案
  5. gliffy UML破解工具
  6. 黑客的入侵方式你知道几种?
  7. 注册dll的bat文件
  8. oracle内连接左连接右连接,ORACLE 左连接 右连接 内连接 区别
  9. VSTO打包加载项 WPS可用 Advanced Installer
  10. TOGAF ADM指导