给pdf添加导航目录

我们下载pdf书籍经常需要以下导航功能,没有导航的pdf根本看不下,接下来会分享我添加导航的方法



首先需要下载工具软件,链接:

http://t.cn/Exyss1G

打开软件,点击更改pdf:



在弹出的窗口按顺序操作:



导出完成后存放接口文件的文件夹会有这两个文件:



查看FreePic2Pdf_bkmk.txt。如果原pdf是有目录的,那么这里将有pdf的目录,否则就是空白。

我们用自己的pdf浏览器打开自己的原pdf文件(我用的是Adobe Reader),为方便叙述,我称pdf有标记页码和实际页码,标记页码是写在书上的页码,实际页码是该页在pdf中包括封面在内按顺序排列的页码,对于我下面用来演示的pdf文件,很幸运标记页码和实际的页码是一样的:



我们先给标记页码的第一页加导航目录试试效果,回到之前的FreePic2Pdf_bkmk.txt文件,

键入:1tab1,保存。



再回到以下页面:



弹出导入完成对话框后(注意原pdf文件要关闭掉,否则无法导入完成)再次打开原pdf文件:



已经可以看到导航目录并且可以跳转了,也就是说我们只要编辑好FreePic2Pdf_bkmk.txt文件就好了,tab键之前的内容为要显示的内容,tab键之后的就是实际页码了。但是,翻到书的目录页看看一共有379页,



我们不可能一页一页去键入,可以借助编程工具,笔者用的是Java:



将上面窗口的内容全部复制进FreePic2Pdf_bkmk.txt,同样的操作导入完成后,每个页码都可以跳转了,但是这样光有页码都不知道每页有什么内容,似乎没什么用啊?



我们可以给书中的目录页添加导航,找具体内容就通过目录页指示的页码跳转就好了,实体书也不就是通过看目录找内容嘛。

找到目录所在实体页码:



是英文字母的话,也没关系,编辑FreePic2Pdf_bkmk.txt为:



再次导入就可以看到目录并且可以跳转到目录页了:



这样子添加的导航目录页也可以在其他pdf阅读器看到,比如Chrome里看:

给pdf添加导航目录的更多相关文章

  1. C#/VB.NET 在Word转PDF时生成目录书签

    当我们在转换Word文档到PDF格式时,想保留Word文档的标题作为PDF书签,那么应该如何操作呢?那么本文将以C#及VB.NET代码为例,介绍如何在Word转PDF时生成目录书签.下面是具体方法和步 ...

  2. C# 给PDF添加图片背景

    C# 给PDF添加图片背景 今天要实现的是给PDF文件添加图片背景这个功能.PDF是近年来最流行的文件之一,无论是办公还是日常生活中都经常会用到,很多时候,PDF文件的背景色都是白色,看多了难免觉得累 ...

  3. wordpress模板学习之导航目录

    wordpress的导航目录分为三个部分,一开启,二配置:三使用 开启在functions.php,这个注册会保存在全局变量中,接下来在菜单配置中会看到 register_nav_menu( 'pri ...

  4. Asp.net MVC 如何向webform一样在IIS里添加虚拟目录

    相信很多用webform的程序猿都习惯性的使用虚拟目录的形式来对一个程序添加新的功能,那么在mvc下该如何来弄呢? 首先得有一个项目基层的项目,然后我们在这个项目的基础上新增一个功能模块,例如信息发布 ...

  5. Android Studio 添加Assets目录

    Android Studio 添加Assets目录: 法一: Since Android Studio uses the new Gradle-based build system, you shou ...

  6. iOS viewController添加导航条以及返回跳转选择

    给单独的viewcontroller或者在Appdelegate的主页面添加导航条,只要在viewcontroller上添加navigationcontroller,在添加此navigationcon ...

  7. .Net程序员学用Oracle系列(1):导航目录

    本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...

  8. X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件

    X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件 <<<<<<<<<<<<<< ...

  9. 【Android Studio安装部署系列】十五、Android studio添加Assets目录

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio新建项目时是没有assets目录,需要自己手动创建. app右键——New——Folder——Asset ...

随机推荐

  1. LeetCode 237. Delete Node in a Linked List 删除链表结点(只给定要删除的结点) C++/Java

    Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...

  2. 2018-2019-2 网络对抗技术 20165304 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165304Exp5 MSF基础应用 原理与实践说明 1.实践原理 1).MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2). ...

  3. React Native踩坑之旅

    原文连接:http://www.studyshare.cn/blog-front/blog/details/1137 最近做一个app,使用React Native实现,如果严格按照RN官方文档去配置 ...

  4. TCPlayer web切换播放问题

    遇到播放的视频无法切换的问题,,即便是清除标签重新生成也不行~~ 需要使用自带的API ~别无他法 demo: http://imgcache.qq.com/open/qcloud/video/tcp ...

  5. 模拟PLC 的圆弧插补方式在VC中绘制圆弧

    最近同事想让要做一个绘图的控件.VC里面的画弧函数Arc需要提供外接矩形的坐标.同事觉得不好用,他更习惯圆弧插补的那种方式.于是看了看圆弧插补的东西.其实这种画弧方式就是提供圆弧的起点.终点和半径来画 ...

  6. makefile(一)

    Makefile的一个具体的实例 来源:http://blog.sina.com.cn/s/blog_73d4d5fa0100paiy.html (2011-03-06 23:10:02) 转载▼ 标 ...

  7. 安装和使用Docker(Windows7)

    1.Boot2Docker Boot2Docker是实现Docker的软件.Windows下的Docker只适合于开发测试(大部分人也就是干开发测试的..),不适合于生产环境. Boot2Docker ...

  8. echarts 技巧自己的一些记录

    1.不要输出 window["echarts"].init(chart) ,会卡死. let chart = document.getElementById("chart ...

  9. JS的基本(原始)数据类型

    1.boolean  true & false 2.null   空值类型 3.undefined  未定义类型 4.number    数值类型 5.string    字符串类型 6.sy ...

  10. Redis主从集群及哨兵模式

    本次实验环境准备用一台服务器模拟3台redis服务器,1主2从 主从集群搭建 第一步:安装Redis 安装Redis,参考前面安装Redis文章,保证单机使用没有问题. 第二步:配置服务器文件 定位到 ...