Я хочу изменить цвет существующих аннотаций выделения в 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)