zoukankan      html  css  js  c++  java
  • 【转】pdf文件自动切白边

    pdf文件自动剪裁(自动切白边)

    FROM:http://www.ai7.org/wp/html/754.html

    下面假设原文件(也就是打算切白边的文件)叫abc.pdf

    1. pdfcrop abc.pdf,默认会生成abc-crop.pdf文件,这个已经是切掉白边的了,要是你不嫌它大(或者它确实不大)的话,就完成了。
    2. 用阅读器(如evince)打开abc-crop.pdf,并通过CUPS打印到文件,打印时注意关闭所有和页面缩放有关的命令,并选中“使用文档的页面尺寸作为页面尺寸”。打印,完成。

    说明:

    1. pdfcrop其实是TeXLive自带的。本质上是一个perl脚本。
    2. pdfcrop要调用gs(ghostscript)确定每页的白边大小。对于空白页,会报错,忽略即可。
    3. pdfcrop还可以在切的时候留若干像素,具体请–help。
    4. pdfcrop要调用pdftex以生成切白边后的文件。
    5. pdfcrop本质上(猜想,没有阅读源码)是先将abc.pdf展开成单页的pdf,调用gs切白边,再用tex文件直接调用pdf页面,最后用pdftex生成输出。
    6. pdfcrop直接生成的文件一般是原文件的20倍以上(本人测试的几个文件均是如此),虚拟打印到新的文件后,基本可以恢复到与原文件同样数量级的尺寸。
    7. 测试都是使用的内嵌字体的中英文PDF。扫描版的没试,估计够呛。

    附一个类似的eps版工具

    首先用下面的命令来去除白边。因为是程序来做的,去除白边的效果甚至比人自己做好:

    epstool --copy --bbox input_file.eps input_file_temp.eps

    第二步也是最后一步,将eps图像转成pdf,也只需要一行命令

    epstopdf --hires --outfile=output.pdf input_file_temp.eps

    这样就完成了eps到pdf的转换了。

    上述的操作流程可以写成一个脚本

    epstool --copy --bbox $1 my_epstopdf_temp.eps

    epstopdf --hires --outfile=$2 my_epstopdf_temp.eps

    rm my_epstopdf_temp.eps

  • 相关阅读:
    [网络流24题]飞行员配对方案问题
    学习笔记——线性基
    HDU 4507 吉哥系列故事——恨7不成妻(数位DP求平方和)
    bzoj1415&洛谷P4206 [NOI2005]聪聪与可可
    后缀自动机(模板+例题)
    最小表示法(模板)poj1059
    求次小生成树(洛谷P4180&bzoj1977)
    KMP poj3942
    最小表示法(模板) CH1807
    数位dp 求山峰数(hill)
  • 原文地址:https://www.cnblogs.com/cslxiao/p/5592106.html
Copyright © 2011-2022 走看看