我如何知道要裁剪的坐标?
感谢以上所有回答。
步骤 1. 运行以下代码得到 (x1, y1)。
from PyPDF2 import PdfFileWriter, PdfFileReader
input = PdfFileReader(open("test.pdf","rb"))
page = input.getPage(0)
print(page.cropBox.getUpperRight())
第 2 步。以全屏模式查看 pdf 文件。
步骤 3. 将屏幕捕获为图像文件 screen.jpg。
步骤 4. 通过 M$ paint 或 GIMP 打开 screen.jpg。这些应用程序显示光标的坐标。
步骤 5. 记住以下坐标,(x2, y2), (x3, y3), (x4, y4) 和 (x5, y5),其中 (x4, y4) 和 (x5, y5) 确定矩形你想裁剪。
Step 6. 通过以下公式获取 page.cropBox.upperLeft 和 page.cropBox.lowerRight。这是一个tool 用于计算。
page.cropBox.upperLeft = (x1*(x4-x2)/(x3-x2),(1-y4/y3)*y1)
page.cropBox.lowerRight = (x1*(x5-x2)/(x3-x2),(1-y5/y3)*y1)
第 7 步。运行以下代码以裁剪 pdf 文件。
from PyPDF2 import PdfFileWriter, PdfFileReader
output = PdfFileWriter()
input = PdfFileReader(open('test.pdf', 'rb'))
n = input.getNumPages()
for i in range(n):
page = input.getPage(i)
page.cropBox.upperLeft = (100,200)
page.cropBox.lowerRight = (300,400)
output.addPage(page)
outputStream = open('result.pdf','wb')
output.write(outputStream)
outputStream.close()