发布几个PDF小工具
《Linux多線程服務端編程——使用muduo C++網絡庫》這本書是我自己用LaTeX排版的,在排版過程中也積累了一些小工具,今天把其中幾個發布出來。這幾個工具都直接基于開源的 iText 庫,可從?http://itextpdf.com/?下載。
下載
Groovy 版本位于?https://github.com/chenshuo/typeset/tree/master/tools
Java 版本位于?https://github.com/chenshuo/recipes/tree/master/java/pdf
各個工具的輸出示例位于?http://vdisk.weibo.com/s/kT4fL
剪裁(Crop)
為了充分利用屏幕空間,也便于在電子閱讀器(iPad、Kindle)上閱讀校對書稿,我一般會把PDF剪切為版心大小。例如下面左圖是原始PDF,為紙張大小;右圖是剪切之后的版心。
剪切工具是 crop.groovy,設好CLASSPATH后可直接在命令行運行。其核心是根據版心和紙張尺寸算出左下角和右上角左邊,然后剪切每一頁。這個工具不管PDF的內容,如果需要根據頁面內容剪裁PDF,可以使用Heiko Oberdiek的pdfcrop工具。
http://www.ctan.org/tex-archive/support/pdfcrop
http://code.google.com/p/pdfcrop2/
拼版(two-up)
有時候想在寬屏上同時閱讀左右兩頁的書稿,除了可以用PDF閱讀器本身的多頁顯示功能,我還常常自己做二合一(two-up)。這樣得到的PDF也可以打印出來看,既節約紙張,而且與原稿是1:1大小。生成的PDF效果如下圖。
二合一工具是twoup.groovy,其核心是算出左右兩頁在合頁中的起始坐標。
小冊子(booklet)
有時候我會把一章的內容打印出來,裝訂成一本小冊子,這樣讀起來有翻書的感覺。為了節約紙張,在打印之前要拼版,這樣一張紙雙面能打印4個頁碼。例如8頁內容可以打印到兩張A4紙上:
裝訂這種小冊子要用騎縫訂,可用旋轉訂書機(http://www.amazon.cn/dp/B0080AF0FM,http://product.dangdang.com/product.aspx?product_id=1141537002)。一本小冊子一般應該控制在10頁紙左右,即40個頁碼,再厚就訂不透了。
對比PDF內容(diff)
在書籍出版之后,每次印刷都可能修訂一些頁碼,那么可以用 diffpdf.sh 小工具找出哪些頁面的內容有改動。這個工具的思路很土,就是把PDF渲染為多個PNG文件,然后用diff比較文件是否相同。
另外,SumatraPDF是非常好的PDF閱讀器,它可以在更新PDF文件之后自動刷新內容,不必reload。
from: http://blog.csdn.net/solstice/article/details/8306916
總結
以上是生活随笔為你收集整理的发布几个PDF小工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 整合 Google 开源 C++ 代码
- 下一篇: 用 LaTeX 排版编程技术书籍的一些个