2009-01-10 22 views
19

Necesito extraer todas las imágenes de un archivo PDF en mi servidor. No quiero las páginas PDF, solo las imágenes en su tamaño y resolución originales.¿Cómo puedo extraer imágenes de un archivo PDF?

¿Cómo podría hacer esto con Perl, PHP o cualquier otra aplicación basada en UNIX (que invocaría con la función de ejecución de PHP)?

+0

Su título es vago. Probablemente debería leer "Cómo extraer imágenes de un archivo PDF usando PHP" – Soviut

+0

¿Cómo puede saber dónde está cada imagen en la página? Según mi leal saber y entender, los archivos PDF no registran esta información. –

Respuesta

21

pdfimages hace precisamente ese. Es parte de los paquetes poppler-utils y xpdf-utils.

Desde la página de manual:

Pdfimages guarda las imágenes de un formato de documento portátil (PDF) Pixmap como portátil (PPM), Portable Bitmap (PBM), JPEG o archivos.

Pdfimages lee el archivo PDF, escanea una o más páginas, archivo PDF, y escribe un PPM, PBM, o JPEG para cada imagen, image-root-nnn.xxx, donde nnn es el número de la imagen y xxx es el tipo de imagen (.ppm, .pbm, .jpg).

NB: pdfimages extrae los datos de imagen en bruto del archivo PDF, sin realizar transformaciones adicionales. Se ignora cualquier rotación, recorte, inversión de color, etc. realizada por la secuencia de contenido PDF.

+0

Creo que el paquete se instala cuando instala xpdf. – PolyThinker

+0

que es correcto también, ambos paquetes tienen pdfimages. –

11

Con respecto a Perl, ¿ha marcado CPAN?

  • PDF::GetImages - obtener imágenes del documento PDF
  • PDF::OCR - obtener OCR y las imágenes de un archivo PDF
  • PDF::OCR2 - extraer todo el texto y todo ocr imagen de los archivos pdf
2

pdfimages es bueno, ya que no reencode sino que solo extrae jpegs. Pero hay un error:

pdfimages viene del paquete "poppler-utils" o del más grande "xpdf-utils". Al menos en Ubuntu "poppler-utils" ya viene preinstalado. El pdfimages en poppler-utils 10.0.3 (Ubuntu 9.04 Jaunty) aún no reacciona a la opción "-j" para extraer ".jpg". Siempre extrae ".ppm".

Como solución puede reemplazar "poppler-utils" con "xpdf-utils": $ sudo apt-get install xpdf-utils

con un cordial saludo,

+++ Oliver

+0

en mi servidor ubuntu ni xpdf ni poppler reconoce el conmutador '-j' – mbx

Cuestiones relacionadas