我在函数stream.write(self._header + b_("\n"))
的第二行出现了一个错误,该错误引发了异常。到目前为止,我还无法调试问题,我使用的是python 3.(signpdf)。这是一个旧的python下载的软件包,但是在运行时似乎可以在python 2上运行。
object_positions = []
stream.write(self._header + b_("\n"))
for i in range(len(self._objects)):
idnum = (i + 1)
obj = self._objects[i]
object_positions.append(stream.tell())
stream.write(b_(str(idnum) + " 0 obj\n"))
key = None
if hasattr(self, "_encrypt") and idnum != self._encrypt.idnum:
pack1 = struct.pack("<i", i + 1)[:3]
pack2 = struct.pack("<i", 0)[:2]
key = self._encrypt_key + pack1 + pack2
assert len(key) == (len(self._encrypt_key) + 5)
md5_hash = md5(key).digest()
key = md5_hash[:min(16, len(self._encrypt_key) + 5)]
obj.writeToStream(stream, key)
stream.write(b_("\nendobj\n"))
答案 0 :(得分:1)
您应该检查流的打开方式。我认为python 2和3之间的默认值已更改。