1
我想用python和popplerqt4更改PDF文件中現有突出顯示註釋的顏色。我有一個包含現有HighlightAnnotations的PDF文檔。對於給定的頁面,我可以通過檢索註釋:用python更改PDF中的突出顯示註釋的顏色
In [1]: doc = popplerqt4.Poppler.Document.load('doc.pdf')
In [2]: annotations = doc.page(0).annotations()
其中在這種情況下返回類型的增亮兩個註解。
In [3]: annotations
Out[3]:
[<popplerqt4.HighlightAnnotation at 0x7f4cbc170948>,
<popplerqt4.HighlightAnnotation at 0x7f4cbc170558>]
現在我可以更改作者或更改這些註釋的四邊形分別與setAuthor()
和setHighlightQuads()
方法。這可以很好地工作,並且在保存文檔時具有預期的行爲(使用pdfConverter()
)。
我的問題是,上面給出annotations
,改變高光顏色的正確方法是什麼?我見過幾個C++示例,例如他們使用annot->style().setColor(RED);
。我如何使用python訪問我的註釋的樣式屬性?在我的例子中,我只能訪問下面的屬性。提前感謝您的任何提示!
In [4]: annot = annotations[0]
In [4]: annot.
annot.ACaret annot.Dashed annot.NoEffect annot.creationDate
annot.AFileAttachment annot.Delete annot.None annot.flags
annot.AGeom annot.DenyDelete annot.Quad annot.highlightQuads
annot.AHighlight annot.DenyPrint annot.Rejected annot.highlightType
annot.AInk annot.DenyWrite annot.Reply annot.modificationDate
annot.ALine annot.External annot.RevScope annot.setAuthor
annot.ALink annot.FixedRotation annot.RevType annot.setBoundary
annot.AMovie annot.FixedSize annot.Solid annot.setContents
annot.ASound annot.Flag annot.Squiggly annot.setCreationDate
annot.AStamp annot.Group annot.StrikeOut annot.setFlags
annot.AText annot.Hidden annot.SubType annot.setHighlightQuads
annot.A_BASE annot.Highlight annot.ToggleHidingOnMouse annot.setHighlightType
annot.Accepted annot.HighlightType annot.Underline annot.setModificationDate
annot.Beveled annot.Inset annot.Unmarked annot.setUniqueName
annot.Cancelled annot.LineEffect annot.author annot.store
annot.Cloudy annot.LineStyle annot.boundary annot.subType
annot.Completed annot.Marked annot.contents annot.uniqueName
我使用下面的包:
python -V
Python 3.4.3
popplerqt4.version()
(0, 24, 0)
popplerqt4.poppler_version()
(0, 30, 0)