Extraer anotaciones / comentarios en PDF.

Tenemos un flujo de trabajo de impresión bastante complejo donde el control es agregar comentarios y anotaciones para versiones en borrador de documentos PDF generados utilizando Adobe Reader o Adobe Acrobat. Como parte del flujo de trabajo, los documentos PDF importados con anotaciones y comentarios deben analizarse y las anotaciones deben importarse en un sistema CMS (junto con el PDF).

P: ¿existen herramientas confiables (Python o Java preferidas) para extraer dichos datos de forma limpia y confiable a archivos PDF?

Este código debe hacer el trabajo. Una de las respuestas a la pregunta Parse anotaciones de un pdf fue muy útil para que escribiera el siguiente código. Utiliza la biblioteca poppler para analizar las anotaciones. Este es un enlace a anotaciones.pdf .

código

import poppler, os.path path = 'file://%s' % os.path.realpath('annotations.pdf') doc = poppler.document_new_from_file(path, None) pages = [doc.get_page(i) for i in range(doc.get_n_pages())] for page_no, page in enumerate(pages): items = [i.annot.get_contents() for i in page.get_annot_mapping()] items = [i for i in items if i] print "page: %s comments: %s " % (page_no + 1, items) 

salida

 page: 1 comments: ['This is an annotation'] page: 2 comments: [' Please note ', ' Please note ', 'This is a comment in the text'] 

instalación

En Ubuntu la instalación de la siguiente manera.

 apt-get install python-poppler