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