【发布时间】:2019-04-21 21:17:08
【问题描述】:
我需要裁剪 pdf 以提取该 pdf 文档中的一些特定信息。有没有一种方法可以裁剪 pdf 并仅保留裁剪区域内的文本,而丢弃裁剪区域外的所有其他文本?
我尝试使用 pyPdf 使用以下代码对其进行裁剪。
from pyPdf import PdfFileWriter, PdfFileReader
with open("in.pdf", "rb") as in_f:
input1 = PdfFileReader(in_f)
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)
with open("out.pdf", "wb") as out_f:
output.write(out_f)
pdf 本身被裁剪,但未裁剪的 pdf 的所有文本仍被保留。如果我复制新 PDF 的所有内容,即使是裁剪(不可见)的文本也会被复制。
【问题讨论】:
-
你能提供测试pdf吗? :D
-
但是如果我的理解是正确的,你不能通过裁剪pdf直接删除文本数据,数据流中仍然存在不可见的内容。
-
您好,很抱歉回复晚了。我使用的 PDF 可以在这里找到update.uu.se/~jolkkonen/pdf/CRC_TD.pdf