2015-04-04 204 views
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) 

回答

相關問題