Extraer imágenes incrustadas de un PDF

165

Antes de comenzar a usar Ubuntu, usaba el lector Nitro PDF para extraer automáticamente imágenes de archivos PDF. ¿Hay un lector de PDF para Linux que haga esto?

Me gustaría poder extraer imágenes más rápido / más fácil que al tomar una instantánea.

1kb
fuente
¿Puedes recordar qué tan bien puede hacer NitroPDF con las imágenes vectoriales? ¿Puede pdfimageshacerlo mejor / peor que NitroPDF?
Léo Léopold Hertz 준영
2
@ funky-future Claramente, las dos preguntas son duplicadas, pero su objetivo duplicado solo tiene dos respuestas y una de estas dos respuestas es una respuesta de correo no deseado, por lo que la dirección de la duplicación debe revertirse para evitar que esta pregunta sea golpeada por el martillo de engaño.
karel

Respuestas:

197

Utilizar pdfimages

pdfimages es una herramienta de extracción de imágenes PDF que guarda las imágenes en un archivo PDF en formato PPM, PBM, JPEG o JPEG 2000.

Es una parte del poppler-utilspaquete, que deberá instalar.

Uso: pdfimages [options] <PDF-file> <image-root>

Ejemplo: a continuación se extraen todas las imágenes de un archivo PDF y se guardan en formato JPEG.

pdfimages -j in.pdf /tmp/out

Guardará imágenes de archivos PDF in.pdfen archivos /tmp/out-000.jpg(o /tmp/out-000.pbm; ver más abajo) /tmp/out-001.jpg, etc.


La página del manual de pdfimages explica:

-j:  Normally, all images are written as PBM (for monochrome images) or PPM for
     non-monochrome images) files. With this option,  images in DCT format are
     saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.
pl1nk
fuente
8
Sería bueno tener una solución que extraiga imágenes en su formato nativo. Re-codificar archivos JPEG no es realmente ideal.
Christian
32
@Christian de la página man-all Write JPEG, JPEG2000, JBIG2, and CCITT images in their native format. CMYK files are written as TIFF files. All other images are written as PNG files. This is equivalent to specifying the options -png -tiff -j -jp2 -jbig2 -ccitt.
wil93
2
Tenga en cuenta que el -allconmutador solo es compatible con las revisiones recientes de poppler-utils. Por ejemplo, si todavía está en 12.04 no podrá acceder a esta opción
Glutanimate
1
Si no puede usar, -allvaya a los formatos PNM. No tienen pérdidas y puede procesar las imágenes, por ejemplo, en PNG.
Tomasz Gandor
1
@ Christian, use $ pdfimages -list <PDF-file>para verificar el formato original en la columna "enc", para que no tenga que volver a codificar la imagen en otro formato.
Jose Barakat
24

A menudo uso Inkscape para esto. Cargue la página y elimine todas las demás cosas. La ventaja es que puede obtener imágenes vectoriales en SVG y modificarlas a su elección.

Duendecillo
fuente
Algunos archivos PDF solo se pueden importar correctamente con la importación interna de Inkscape (la importación de poppler / cairo o pdfimage no se puede analizar correctamente). Una vez importado, copie y pegue la imagen en un nuevo archivo y
cambie
No hay problema para mí, esa fue la mejor solución, tenga en cuenta que debe elegir una página a la vez.
Jimmy Olano
5

Tengo un archivo PDF de doble columna con imágenes incrustadas creadas con LaTeX donde las imágenes originales se proporcionaron como EPS. Probé la solución propuesta basada en pdfimages, pero desafortunadamente, no devolvió ninguna imagen. Entonces intenté usar Inkscape, pero las imágenes SVG que generó estaban distorsionadas y tampoco tuve suerte de exportarlas como EPS.

El software que funcionó para nosotros fue el MasterPdfEditor .

Aquí está el procedimiento.

  • Abra su archivo usando Master PDF Editor
  • Use la herramienta de edición (Alt + 1) para seleccionar la imagen que necesita extraer
  • Copie la figura (Ctrl + C)
  • Haga clic en el marco punteado alrededor de la imagen y consulte la barra lateral derecha (Inspector de objetos) y haga clic en "Geomerty". Allí puedes ver el tamaño de tu selección
  • Crea un nuevo archivo (Ctrl + N). Le pedirá que proporcione el tamaño de la página. Proporcione el tamaño exacto de su imagen y cree el nuevo archivo
  • Ahora es un poco complicado: pegue la imagen (Ctrl + V). Es posible que la imagen no se muestre en el nuevo archivo. Usa las flechas para moverlo hasta que puedas rastrearlo.
  • Usa las flechas para centrar la imagen en la nueva página
  • Guardar como pdf

El resultado es de muy alta calidad, pero el software no es gratuito. Hay una versión de demostración que "le permite probar todas las funciones", pero viene con "la adición de una marca de agua en el archivo de salida". Para ser sincero, no noté ninguna marca de agua en el PDF producido.

Pantelis Sopasakis
fuente
Esto es Ask Ubuntu ... Nos gusta el código abierto aquí y su solución es una solución comercial de código cerrado ... ¿Cómo es esto mejor que las respuestas ya votadas? (-1
mientras
3
@Fabby Gracias por los comentarios. No lo sabía. ¿Existe tal regla en askubuntu.com? Sin embargo, tan pronto como abra el centro de software de Ubuntu , obtendrá sugerencias para aplicaciones no libres.
Pantelis Sopasakis
No, no hay una "regla" y es por eso que no voté para eliminar esta respuesta, pero hay mejores herramientas que son gratuitas (como en la cerveza y la libertad de expresión), así que eso es solo una opinión.
Fabby
1
+1. He usado la línea de comandos ImageMagick, pero esta es una solución interesante para alguien que busca una GUI.
rpmcruz
2
Funciona para algunas personas, eso es lo suficientemente bueno. No seas nazi ... No sé quiénes somos "nosotros". Puedes hablar solo por ti mismo. +1 por la respuesta
sdaffa23fdsf
4

También puede probar pdfmod. Es una GUI (interfaz gráfica) que puede extraer imágenes y realizar otras manipulaciones básicas de pdf.

Que hacer
fuente
Hmm, me parece un poco molesto. Insertó un PDF con imágenes principalmente violetas y obtuvo imágenes verdosas.
DBX12
2

Si lo que necesita es una imagen recortada en formato pdf / eps, extraiga una página con la imagen usando pdfmod(como lo sugiere To Do).

Luego pdfcrop, puede recortarlo correctamente configurando los márgenes por prueba y error:

pdfcrop --margins "-15 -50 0 -140" extracted_page.pdf
macieksk
fuente
1

Uso pdfimages, que es una herramienta de línea de comandos y funciona muy bien para mí. Es muy fácil de usar y puede usar la opción --help para obtener más información sobre su uso. Yo uso Ubuntu y viene preinstalado. Si sus archivos PDF están encriptados o protegidos con contraseña, hay opciones para eso, por lo que esta herramienta funciona muy bien. Puedes leer más sobre pdfimages aquí

jetbird13
fuente
44
Lea otras respuestas antes de publicar la suya. Observe que hay otro que cubre esto.
edwin
Ok, lo siento :) Pensé en publicar el mío porque tiene información sobre archivos PDF protegidos con contraseña y explico que esta herramienta tiene estas opciones, además publiqué un enlace que es un tutorial sobre esta herramienta.
jetbird13
Si ganas suficiente reputación, puedes comentar las respuestas de otros o votarlas.
edwin
1

Con pdfimages la imagen extraída puede estar en dos o más partes. Una forma sencilla de volver a unirlos sin preocuparse por los formatos extraídos es importar las partes en LibreOffice Draw, recortar con el diálogo de recorte de imagen, colocar las partes, ajustar el tamaño de página y exportar en el formato que prefiera.

DafyddG
fuente
1

Si desea recortar una imagen de un pdf con un visor de pdf, puede probar okular. Puede recortar cualquier cosa (textos o imágenes) en formato png o jpeg. Si desea extraer imágenes en formato png desde un pdf, puede hacerlo con un comando mínimo con pdftohtml. Convierte pdf a html más imágenes. Aquí puede encontrar un ejemplo: https://www.youtube.com/watch?v=CG1rf7k3xo8 . Si desea extraer muchas imágenes de un pdf, le sugiero que pruebe esto.

usuario203413
fuente
0

Software utilizado: Xreader OS: Antergos

Pasos:

  1. Abrir PDF
  2. Haga clic derecho en la imagen
  3. Seleccione Guardar imagen como ...
  4. Nombre de archivo de entrada y extensión.
  5. Salvar.
Yash Krishan
fuente