Estoy tratando de usar el programa de línea de comandos convert
para llevar un PDF a una imagen (JPEG o PNG). Aquí está uno de los PDF que estoy tratando de convertir.
Quiero que el programa recorte el exceso de espacio en blanco y devuelva una imagen de calidad suficientemente alta para que los superíndices se puedan leer con facilidad.
Este es mi mejor intento actual . Como puede ver, el recorte funciona bien, solo necesito agudizar bastante la resolución. Este es el comando que estoy usando:
convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg
He tratado de tomar las siguientes decisiones conscientes:
- cambiar su tamaño más grande (no tiene efecto en la resolución)
- hacer que la calidad sea lo más alta posible
- use el
-sharpen
(he intentado un rango de valores)
Cualquier sugerencia, por favor, sobre cómo obtener la resolución de la imagen en el PNG / JPEG final será muy apreciada.
pdf
imagemagick
JBWhitmore
fuente
fuente
sips
el "sistema de procesamiento de imágenes programable". Es un editor de imágenes de línea de comandos integrado en macOS, funciona en archivos PDF y muchos otros tipos de imágenes.Respuestas:
Parece que lo siguiente funciona:
Resulta en la imagen de la izquierda . Compare esto con el resultado de mi comando original ( la imagen de la derecha ):
(Para ver y apreciar realmente las diferencias entre los dos, haga clic derecho en cada uno y seleccione "Abrir imagen en nueva pestaña ..." ).
También tenga en cuenta los siguientes hechos:
Por lo tanto, no es necesario cambiar el tamaño; agrega la
-density
bandera. El valor de densidad 150 es extraño: ¡probar un rango de valores da como resultado una imagen peor en ambas direcciones!fuente
density
parámetro es un poco especial porque debe aparecer antes del archivo de entrada. Como PDF es un formato de archivo basado en vectores que no tiene (mucha) noción de píxeles, dice algo así como "la página mide 8 pulgadas por 12 pulgadas". Si desea píxeles, utilice ladensity
configuración para indicar cuántos píxeles por pulgada desea obtener en la salida. P.ej. con 150 obtendría 8x150 = 1200 por 12x150 = 1800 píxeles en la imagen resultante. Esa es también la cantidad de píxeles en los que trabajan las configuraciones de nitidez, contraste, compresión, etc.-flatten
.-density
y-flatten
para reducir el tamaño de un pdf (a otro pdf). La-flatten
opción realmente ayuda mucho a reducir el tamaño total. En mi caso, sin alteraciones visuales.-density
bandera probablemente dará peores resultados en valores más altos si la calidad de la imagen de inicio fue menor que eso.Personalmente me gusta esto.
Es un poco más del doble del tamaño del archivo, pero me parece mejor.
-density 300
establece el dpi en el que se representa el PDF.-trim
elimina los píxeles de borde que son del mismo color que los píxeles de esquina.-quality 100
establece la calidad de compresión JPEG a la más alta calidad.Cosas como
-sharpen
no funcionan bien con el texto porque deshacen las cosas que hizo su sistema de representación de fuentes para hacerlo más legible.Si realmente quiere explotar, use el cambio de tamaño aquí y posiblemente un valor de dpi más grande de algo como
targetDPI * scalingFactor
Eso hará que el PDF tenga la resolución / tamaño que desea.Las descripciones de los parámetros en imagemagick.org están aquí
fuente
convert
cómo sabremos cuántas páginas se convirtieron?-sharpen
. La calidad es mucho mejor que con los valores predeterminados y mucho más natural que con-sharpen
.Utilizo
pdftoppm
en la línea de comandos para obtener la imagen inicial, generalmente con una resolución de 300 ppp, entoncespdftoppm -r 300
, utilizoconvert
para hacer la conversión de recorte y PNG.fuente
pdftoppm
También puede generar archivos JPEG y PNG.normalmente extraigo la imagen incrustada con 'pdfimages' en la resolución nativa, luego uso la conversión de ImageMagick al formato necesario:
Esto genera el mejor y más pequeño archivo de resultados.
Nota: Para imágenes incrustadas JPG con pérdida, tenía que usar -j:
Con Poppler reciente puedes usar -todos que ahorran con pérdida como jpg y sin pérdida como png
En una plataforma Win poco proporcionada, tuvo que descargar un binario reciente (0.37 2015) 'poppler-util' de: http://blog.alivate.com.au/poppler-windows/
fuente
pdftoppm
no conpdfimages
Lo he encontrado más rápido y más estable cuando proceso por lotes PDF grandes en PNG y JPG para usar el
gs
comando subyacente (también conocido como Ghostscript) queconvert
usa.Puede ver el comando en la salida de
convert -verbose
y hay algunos ajustes más posibles allí (YMMV) que son difíciles / imposibles de acceder directamente a través deconvert
.Sin embargo, sería más difícil hacer el recorte y el afilado
gs
, así que, como dije, ¡YMMV!fuente
También te da buenos resultados:
fuente
Usuario de Linux aquí: probé la
convert
utilidad de línea de comandos (para PDF a PNG) y no quedé satisfecho con los resultados. Encontré que esto es más fácil, con un mejor resultado:pdftk file.pdf cat 3 output page3.pdf
GIMP
Resolution
de100
a300
o600 pixel/in
GIMP
exportar como PNG (cambiar la extensión del archivo a .png)Editar:
Imagen agregada, según lo solicitado en el
Comments
. Comando de conversión utilizado:convert -density 300 -trim struct2vec.pdf -quality 100 struct2vec.png
GIMP
: importado a 300 ppp (px / in); exportado como nivel de compresión PNG 3.No he usado GIMP en la línea de comando (re: mi comentario, a continuación).
fuente
convert
. Solo vi la parte de esta respuesta mencionandoconvert
y su pregunta mientras leía su comentario de automatización. Gracias por su respuesta más adelante en este hilo, que combiné con la solución a la que me vinculé y resolví un problema diferente que estaba teniendo.Realmente no he tenido un buen éxito con
convert
[actualización de mayo de 2020: en realidad: casi nunca funciona para mí], pero he tenido un EXCELENTE éxito conpdftoppm
. Aquí hay un par de ejemplos de producción de imágenes de alta calidad a partir de un PDF:[Produce ~ 25 MB de archivos de tamaño por página] Imprime el formato de archivo .tif sin comprimir a 300 DPI en una carpeta llamada "imágenes", con archivos que se llaman pg-1.tif , pg-2.tif , pg-3.tif , etc:
[Produce ~ 1 MB de archivos por página] Salida en formato .jpg a 300 DPI :
[Produce archivos de ~ 2 MB de tamaño por página] Salida en formato .jpg con la más alta calidad (menos compresión) y aún a 300 DPI :
Para obtener más explicaciones, opciones y ejemplos, consulte mi respuesta completa aquí:
/ubuntu/150100/extracting-embedded-images-from-a-pdf/1187844#1187844 .
Relacionado:
pdf2searchablepdf
] /ubuntu/473843/how-to-turn-a-pdf-into-a-text-searchable-pdf/1187881#1187881fuente
En ImageMagick, puedes hacer "supermuestreo". Usted especifica una gran densidad y luego redimensiona tanto como desee para el tamaño de salida final. Por ejemplo con tu imagen:
Descargue la imagen para verla en resolución completa y compararla.
No recomiendo guardar en JPG si espera realizar un procesamiento adicional.
Si desea que la salida sea del mismo tamaño que la entrada, cambie el tamaño a la inversa de la relación de su densidad a 72. Por ejemplo, -densidad 288 y -resize 25%. 288 = 4 * 72 y 25% = 1/4
Cuanto mayor sea la densidad, mejor será la calidad resultante, pero llevará más tiempo procesarla.
fuente
Una sugerencia más es que puedes usar GIMP.
Simplemente cargue el archivo PDF en GIMP-> guardar como .xcf y luego puede hacer lo que quiera con la imagen.
fuente
Yo uso icepdf, un motor de código abierto de Java PDF. Verifique la demostración de la oficina .
También probé imagemagick y pdftoppm , tanto pdftoppm como icepdf tienen una alta resolución que imagemagick.
fuente
Tenga en cuenta antes de rechazar la votación, esta solución es para Gimp usando una interfaz gráfica, y no para ImageMagick usando una línea de comando, pero funcionó perfectamente bien para mí como alternativa, y es por eso que me pareció necesario compartir aquí.
Siga estos sencillos pasos para extraer imágenes en cualquier formato de documentos PDF
Eso es todo.
espero que esto ayude
fuente
El archivo PNG que adjuntas se ve muy borroso. En caso de que necesite utilizar postprocesamiento adicional para cada imagen que generó como vista previa en PDF, disminuirá el rendimiento de su solución.
2JPEG puede convertir el archivo PDF que adjuntó a un bonito JPG de enfoque y recortar márgenes vacíos en una sola llamada:
fuente
Use esta línea de comando:
Esto debería convertir correctamente el archivo como lo solicitó.
fuente
El siguiente script de Python funcionará en cualquier Mac (Snow Leopard y versiones posteriores). Se puede usar en la línea de comando con archivos PDF sucesivos como argumentos, o se puede poner en una acción Ejecutar script de Shell en Automator y hacer un Servicio (Acción rápida en Mojave).
Puede establecer la resolución de la imagen de salida en el script.
El script y una acción rápida se pueden descargar desde github.
fuente
Puede hacerlo en LibreOffice Draw (que generalmente está preinstalado en Ubuntu ):
fuente
He usado pdf2image . Una biblioteca de python simple que funciona como encanto.
Primero instale poppler en una máquina que no sea Linux. Solo puedes descargar el zip. Descomprima los archivos de programa y agregue bin a la ruta de la máquina.
Después de eso, puede usar pdf2image en una clase de Python como esta:
No soy bueno con Python, pero pude hacer exe de él. Más tarde, puede usar el exe con el parámetro de entrada y salida de archivo. Lo he usado en C # y las cosas funcionan bien.
La calidad de la imagen es buena. OCR funciona bien.
fuente
En realidad, es bastante fácil de hacer con Vista previa en una Mac. Todo lo que tiene que hacer es abrir el archivo en Vista previa y guardar como (o exportar) un png o jpeg, pero asegúrese de usar al menos 300 ppp en la parte inferior de la ventana para obtener una imagen de alta calidad.
fuente