【轉】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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM