2016-08-30 24 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