2016-08-30 27 views
0

我借用了这个python代码here(enno groper的第一个回答)来自动从pdf中提取注释。使用poppler提取注释。 g_free()/ get_color()问题

我想对代码进行一些修改。尝试使用annot_mapping.annot.get_color()获取注释的颜色我遇到了第一个问题。该命令返回的是像这样的对象<PopplerColor at 0x1a85180>,而不是rgb值(promised here)。

根据poppler docspoppler_annot_get_color()返回“新分配的PopplerColor,其颜色值为poppler_annot或NULL,必须在完成时使用g_free()释放”。

这是正确的,如果是的话,我如何在python中实现这一点?

回答

1

annot_mapping.annot.get_color()给你一个PopplerColor,它是一个有三个成员(类型为guint16)的结构:红色,绿色和蓝色。例如:

PopplerColor *color = poppler_annot_get_color (annot); 
g_printf ("%d\n", color->red); 

向你诠释annot的红色值,可以类似地获得了GB值。

在Python中,这是通过annot_mapping.annot.get_color().red实现的,假设你有import poppler