我有一个看起来像this的pdf,我想裁剪掉页面中间的所有文本。
def splitHorizontal():
from pyPdf import PdfFileWriter, PdfFileReader
input1 = PdfFileReader(file("in.pdf", "rb"))
output = PdfFileWriter()
numPages = input1.getNumPages()
print "document has %s pages." % numPages
for i in range(numPages):
page = input1.getPage(i)
print page.mediaBox.getUpperRight_x(), page.mediaBox.getUpperRight_y()
page.trimBox.lowerLeft = (25, 25)
page.trimBox.upperRight = (225, 225)
page.cropBox.lowerLeft = (50, 50)
page.cropBox.upperRight = (200, 200)
output.addPage(page)
outputStream = file("out.pdf", "wb")
output.write(outputStream)
outputStream.close()
然而,这些作物尺寸是调整到那个特定的例子。谁能告诉我如何找到正确的作物尺寸。
3条答案
按热度按时间lb3vh1jj1#
我最初是从这里得到脚本的--〉Cropping pages of a .pdf file。
我仔细阅读了作者的话,终于意识到他说的是:
生成的文档有一个200 x200磅的裁切框,从媒体框内的25,25磅处开始。裁切框在裁切框内的25磅处。
意义
必须控制最终利润,因此我将报表调整为
将裁剪镜像到另一侧并确保裁剪保持完整的垂直值
3zwjbxry2#
将每页切成两半(例如,如果源文件是以小册子形式创建的),然后将其重新组合以进行进一步处理(例如,文本提取)
导入所需的库
拆分左侧部分
拆分右侧部分:
左右组合(两栏两页)
cxfofazt3#
我面临着同样的挑战,我写了这个(需要PyPDF2):
https://gist.github.com/kintaro1981/eb6cfc6f40a7fb39744f5ae630d58fd5