2015-04-04 3 views
1

Я хочу изменить цвет существующих аннотаций выделения в PDF-файле с помощью python и popplerqt4. У меня есть документ PDF с существующими HighlightAnnotations. Для данной страницы, можно извлечь с помощью аннотаций:Изменить цвет выделенных аннотаций в PDF с помощью python

In [1]: doc = popplerqt4.Poppler.Document.load('doc.pdf') 
In [2]: annotations = doc.page(0).annotations() 

, который в этом случае возвращает два аннотаций типа Highlight.

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) 

ответ

Смежные вопросы