2011-01-03 7 views
10

Tengo un PDF que incluye texto e imágenes. Quiero extraer imágenes del PDF usando la línea de comandos de Linux. Puedo usar pdfimages para extraer las imágenes, pero también quiero encontrar la ubicación en cada página donde está esa imagen. pdfimages puede decirme qué página de cada imagen (desde el nombre de archivo), sin embargo eso es todo lo que me da. ¿Hay alguna otra herramienta FLOSS que pueda hacer esto?Dado un PDF, ¿cómo extraer las imágenes * y sus ubicaciones en la página * desde la línea de comandos?

+0

Sin ubicaciones parte: http://askubuntu.com/questions/150100/extracting-embedded-images-from-a-pdf –

Respuesta

4

No hay garantía en PDF de que si se reutiliza una imagen, no será una imagen separada. Hay muy pocos metadatos de imagen en un archivo PDF más allá de la ubicación de la página y su tamaño real en la página. Escribí un artículo que explica cómo se almacenan las imágenes dentro de un PDF en http://www.jpedal.org/PDFblog/2010/09/understanding-the-pdf-file-format-images/

+0

Entonces, ¿hay un fácil utilizar el comando/biblioteca para extraer esa localización página? – Rory

14

Bueno, creo que el PDF debe contener la información para colocarlas, por lo que debería ser posible. Por otro lado, una solución puede ser, por ejemplo:

  1. convertir cada página PDF a una imagen con pdftoppm
  2. extraer las imágenes de cada página con pdfimages
  3. Convierte las imágenes en una sola 8-bits de gris- canal de escala (para un análisis más rápido) con detección cvCvtColor
  4. objeto con matchTemplate

Paso 1 puede ser similar a este Paso 2:

for i in {0..99} ; do pdfimages -f $((i)) -l $((i+1)) file.pdf page$((i)); done 

Paso 3 * aquí un ejemplo sencillo

En el paso 4 no debería tener problemas con la formación, ya que la imagen será una coincidencia exacta. matchTemplate(imageToSearch, pdfPageImg, outputMap, 'CV_TM_SQDIFF')

(* - Enlace eliminado ya que ahora parece estar apuntando hacia un sitio ransomware)

4

Hay un interruptor -xml para el comando pdftohtml que dará posición de la imagen, la dimensión y la información de la fuente.

pdftohtml -xml file.pdf 
Cuestiones relacionadas