7

我正在使用 pyPDF2 编辑 PDF 文件。我设法生成了我想要的 PDF,但我还没有旋转一些页面。

我查看了文档并找到了两种方法:rotateClockwiseand rotateCounterClockwise,虽然他们说参数是int,但我无法使其工作。蟒蛇说:

TypeError: unsupported operand type(s) for +: 'IndirectObject' and 'int'

要产生此错误:

page = input1.getPage(i)
page.rotateCounterClockwise(90)
output.addPage(page)

我找不到解释程序的人。然而,stackoverflow 中有一个问题,但答案很模糊。

提前致谢。对不起,如果我错过了什么。

4

2 回答 2

4

这是该功能的一个已知错误rotateClockwise有一个尚未合并的修复程序。pdf.py只需使用此修复程序编辑您的“_rotate”方法

def _rotate(self, angle):
    rotateObj = self.get("/Rotate", 0)
    currentAngle = rotateObj if isinstance(rotateObj, int) else rotateObj.getObject()
    self[NameObject("/Rotate")] = NumberObject(currentAngle + angle)
于 2017-04-23T11:39:12.090 回答
1

尝试用这个替换你的三行:

output.addPage(input1.getPage(i).rotateCounterClockwise(90))

我认为必须对 getPage 调用而不是在“提取”页面上进行旋转。

于 2017-03-09T15:05:37.480 回答