如何制作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增加二級書簽的縮進
增加二級書簽的縮進
修改書簽標題到頁碼的距離
然后文本就成下城這樣了
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);總結
- 上一篇: mysql正则mybatis中用法_SQ
- 下一篇: 含泪推荐5款实用又小巧的PC软件