PyPDF2:可以更新数据流吗?

时间:2018-05-02 19:33:30

标签: stream annotations pypdf2

我需要在pdf中添加多边形注释并修改它的形状。我现在可以通过将pdf和空白pdf合并为多边形来实现,然后我可以更新顶点和矩形。

但是,打开新的pdf时,多边形形状仍然看起来很旧,即使在几次单击形状后刷新它也会刷新。我需要修复此问题并发现这可能是由注释对象中的数据流引起的,该数据流似乎仍然包含旧的多边形形状。但在保存新的pdf之前,我无法弄清楚如何覆盖它。我使用下面的代码更新顶点和rect,但无法弄清楚如何更新数据流。

annot.getObject()。update({NameObject(' / Rect'):ArrayObject([FloatObject(min(xcoords)),FloatObject(min(ycoords)),FloatObject(max(xcoords)) ),FloatObject(max(ycoords))])})

Please see image in link

我很感激任何信息。

1 个答案:

答案 0 :(得分:1)

如果有人有类似问题,只想分享我的解决方案 -

我没有找到更新流数据的方法,但是,我能够摆脱"鬼"通过在注释对象中完全删除该对象来形成。

annot.getObject()POP(' / AP&#39)。

如果没有该鬼影形状,注释多边形将正确显示!不确定为什么使用' / AP'虽然对象。但它看起来还不错。