2009-07-23 84 views
3

我經常對剪切pdfs感興趣*,我使用的一個工具是Heiko Oberdiek的腳本pdfcrop.pl。我想嘗試pdfcrop2,分叉pdfcrop.pl,但Google Code page(我發現的唯一關於pdfcrop2的信息來源)只有舊版pdfcrop.pl的補丁,我找不到副本。有誰知道我可以在哪裏得到pdfcrop2pdfcrop.pl版本1.5的副本?如何獲得pdfcrop2腳本

*除了查看pdfcrop2的工作副本,我很樂意瞭解可用於裁剪PDF的任何其他工具(最好是免費)。 pdftk對於除裁剪之外的任何事情都很棒。

回答

3

編輯:全pdfcrop2是自己svn回購可供選擇:http://code.google.com/p/pdfcrop2/source/browse/trunk/pdfcrop.pl

原來的答覆。

pdfcrop 1.5隨附debian和ubuntu;在orig.tar.gz中查找texlive-bin source package,您可以從a nearby Debian mirror中獲取該值。

我已經發布了一份在http://pastebin.com/m4c94ec08暫時對你...

+0

Thanks Stobor!我無法相信我沒有注意到谷歌代碼頁上的svn回購。我無法檢查你發佈的回購協議,但是這個工作:`svn checkout pdfcrop2.googlecode.com/svn/trunk pdfcrop2-read-only`。至於pdfcrop 1.5,事實證明它也包含在`texlive-extra-utils`包中,這對我來說更容易抓取(我正在運行ubuntu,並且我找不到一個`texlive-bin`包電流源)。 – 2009-07-23 16:43:23

+0

@Anton:是的,我指向web-svn查看器,而不是回購本身。很高興你找到了點點滴滴。 – Stobor 2009-07-24 04:04:50

1

我打了一下與pyPdf設置頁面框。以下是一些測試代碼,僅用偶數頁生成PDF,將媒體框和裁切框右上方設置爲與第一頁相同,這可能是更有用的起點。

#!/usr/bin/python 

from pyPdf import PdfFileWriter, PdfFileReader 
from pdfsave import pdfSave 
import sys 

def pdfSetBoxes(input, output, mediaBox, cropBox): 
    numPages = input.getNumPages() 
    for pageNum in range(1,numPages, 2): 
     page = input.getPage(pageNum) 
     page.mediaBox.upperRight = mediaBox 
     page.cropBox.upperRight = cropBox 
     output.addPage(page) 

input = PdfFileReader(file(sys.argv[1], "rb")) 
output = PdfFileWriter() 

page0 = input.getPage(0) 
mb = page0.mediaBox.getUpperRight() 
cb = page0.cropBox.getUpperRight() 

pdfSetBoxes(input, output, mb, cb) 
pdfSave(output, sys.argv[2])