欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

如何制作pdf书签

发布时间:2023/12/14 编程问答 22 豆豆
生活随笔 收集整理的这篇文章主要介绍了 如何制作pdf书签 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

从网上下载的pdf书籍没有书签,读起来很不方便。下面介绍一个制作书签的方法。

1、下载好文字版带页码的目录、

第1章 整洁代码 19 1.1 要有代码 2  1.2 糟糕的代码 20 1.3 混乱的代价 21 1.3.1 华丽新设计 22 第2章 有意义的命名 33 2.1 介绍 33 2.2 名副其实 34

修改成每个层级之间使用一个 “\t” , 文字到页码之间也需要一个“\t" 的这种规则。
可使用EditPlus编辑器中的正则替换功能,修改在如下规则。

使用到的正则表达式

^(\d{1,2}\.\d) ^(\t+\d{1,2}\.\d+\.\d+) \s(\d+)$ \t\1

增加二级书签的缩进

增加二级书签的缩进

修改书签标题到页码的距离

然后文本就成下城这样了

第1章 整洁代码 191.1 要有代码 2 1.2 糟糕的代码 201.3 混乱的代价 211.3.1 华丽新设计 221.3.2 态度 221.3.3 迷题 231.3.4 整洁代码的艺术 231.3.5 什么是整洁代码 241.4 思想流派 281.5 我们是作者 291.6 童子军军规 301.7 前传与原则 12 1.8 小结 301.9 文献 31 第2章 有意义的命名 332.1 介绍 332.2 名副其实 34

2、下载软件FreePic2PDF

3、操作软件步骤


从原书中取书签


会在你选择目录生成如上两个文件,打开FreePic2Pdf_bkmk.txt,把内容替换成上面做好有层级的目录。
然后如下操作

这样书签就做好了。
嗯。来看看效果吧。

有些书的页码跟pdf的页面不一致,那么就需要程序给页码加上一个固定的数值来修改pdf页面。

/*** 处理pdf页码与目录不一致的问题。* 在原页码 加上正文之前的页数,* 注意编码,一般pdf取出目录是统一码,* 需要转换成utf-8编码再使用程序处理*/ $file = "ab.txt"; $outFile = "a.txt"; $numPage = 16; // 需要增加的页码 $aa = file($file); $c = []; foreach ($aa as $k => &$v) {$tmp = explode("\t", $v);if (isset($tmp[0])) {$source = trim(array_pop($tmp));if (is_numeric($source)) {$page = (int)$source + $numPage;$page = "\t".$page;array_push($tmp, $page);$v = str_replace("\t".$source, $page, $v);} else {$c[] = $v;}} else {print_r($v);exit("出错了.");} } //print_r($c); file_put_contents($outFile, $aa);

总结

以上是生活随笔为你收集整理的如何制作pdf书签的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。