博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发布几个PDF小工具
阅读量:4677 次
发布时间:2019-06-09

本文共 925 字,大约阅读时间需要 3 分钟。

《Linux多线程服务端编程——使用muduo C++网络库》这本书是我自己用LaTeX排版的,在排版过程中也积累了一些小工具,今天把其中几个发布出来。这几个工具都直接基于开源的 iText 库,可从 下载。

下载

Groovy 版本位于

Java 版本位于

各个工具的输出示例位于

剪裁(Crop)

为了充分利用屏幕空间,也便于在电子阅读器(iPad、Kindle)上阅读校对书稿,我一般会把PDF剪切为版心大小。例如下面左图是原始PDF,为纸张大小;右图是剪切之后的版心。

剪切工具是 crop.groovy,设好CLASSPATH后可直接在命令行运行。其核心是根据版心和纸张尺寸算出左下角和右上角左边,然后剪切每一页。这个工具不管PDF的内容,如果需要根据页面内容剪裁PDF,可以使用Heiko Oberdiek的pdfcrop工具。

拼版(two-up)

有时候想在宽屏上同时阅读左右两页的书稿,除了可以用PDF阅读器本身的多页显示功能,我还常常自己做二合一(two-up)。这样得到的PDF也可以打印出来看,既节约纸张,而且与原稿是1:1大小。生成的PDF效果如下图。

二合一工具是twoup.groovy,其核心是算出左右两页在合页中的起始坐标。

小册子(booklet)

有时候我会把一章的内容打印出来,装订成一本小册子,这样读起来有翻书的感觉。为了节约纸张,在打印之前要拼版,这样一张纸双面能打印4个页码。例如8页内容可以打印到两张A4纸上:

booklet

装订这种小册子要用骑缝订,可用旋转订书机(,)。一本小册子一般应该控制在10页纸左右,即40个页码,再厚就订不透了。

对比PDF内容(diff)

在书籍出版之后,每次印刷都可能修订一些页码,那么可以用 diffpdf.sh 小工具找出哪些页面的内容有改动。这个工具的思路很土,就是把PDF渲染为多个PNG文件,然后用diff比较文件是否相同。

另外,SumatraPDF是非常好的PDF阅读器,它可以在更新PDF文件之后自动刷新内容,不必reload。

转载于:https://www.cnblogs.com/Solstice/archive/2012/12/17/2821523.html

你可能感兴趣的文章
利用SOAtest建立自动化测试验证网站是否成功加载
查看>>
win7 64 搭建 64 位 apache httpd php mysql
查看>>
博客存档TensorFlow入门一 1.4编程练习
查看>>
BZOJ 1047 [HAOI2007]理想的正方形
查看>>
卡卡希望快点长大
查看>>
自己写的一个随机快速排序的代码
查看>>
一些鲜为人知却非常实用的数据结构 - Haippy
查看>>
【C#】C#线程_I/O限制的异步操作
查看>>
hdu 4403 简单搜索
查看>>
hdu1565 网络流或状态压缩DP
查看>>
javascript的变量声明和数据类型
查看>>
基于MybatisUtil工具类,完成CURD操作
查看>>
Flask-SQLAlchemy
查看>>
kettle参数、变量详细讲解[转]
查看>>
Ubuntu12.04 下 GTK3.xx 的安装、编译和測试
查看>>
C# - Generics
查看>>
.NET LINQ 转换数据类型
查看>>
[LGP2791] 幼儿园篮球题
查看>>
170. Two Sum III - Data structure design
查看>>
os & sys
查看>>