Hay muchas preguntas sobre cómo convertir un archivo PDF en una imagen PNG, pero estoy buscando tomar un buen archivo PNG nítido y básicamente envolverlo o incrustarlo en un archivo PDF sin que se vea borroso o borroso.
Me doy cuenta de que con imagemagic instalado puedo hacer una conversión simple como:
convert sample.png sample.pdf
También probé muchos de los interruptores para establecer la profundidad, y también la configuración de calidad:
convert -quality 100 sample.png sample.pdf
Sin embargo, el PDF todavía se ve borroso / borroso.
Aquí hay una imagen de muestra:
http://img406.imageshack.us/img406/6461/picture3mu.png
Como png es crujiente y limpio. Cuando lo convierto a PDF, incluso con el mismo tamaño se ve borroso:
Imagen 4.png http://img803.imageshack.us/img803/9969/picture4at.png
¿Cómo puedo convertir PNG a PDF en alta calidad?
\usepackage[pdftex, final]{graphicx}
y\includegraphics[width=516px]{calendar.png}
, por ejemplo.Respuestas:
Intenta usar la
-density
opción. La resolución predeterminada es 72 puntos por pulgada. Así que intenta algo como-density 300
.Para referencia, consulte
-density
la documentación de las opciones de la línea de comandos de ImageMagick.fuente
with density 300
con una imagen de ejemplo? Creo que el resultado depende de la entrada. Un nuevo hilo sobre esto aquí unix.stackexchange.com/q/292025/16920Puede ser muy complicado obtener una buena salida de PDF
convert
. Intenta en suimg2pdf
lugar. Del léame:Para aclarar: PDF puede incrustar imágenes JPEG 2000 sin pérdidas (y la mayoría de los lectores parecen admitirlas ). Entonces esta conversión es completamente sin pérdidas:
(Suponiendo que el delegado JP2 esté disponible, por supuesto: verifique
identify -list format | grep JP2
).fuente
convert sample.png -quality 0 sample.jp2; img2pdf -o sample.pdf sample.jp2
. (Suponiendo que el delegado JP2 esté disponible, por supuesto: consultaridentify -list format | grep JP2
.)convert
tiff y luegotiff2pdf
.-quality 0
?-quality 100
.Estoy casi seguro de que lo que se percibe como una pérdida de calidad en el PDF, es sólo un efecto de su visor de PDF 's anti- aliasing función.
Si usa
evince
para ver el PDF, puede ver que la función antisolapamiento se apaga automáticamente con cierto zoom (300% en mi prueba rápida). Puedes verlo vívidamente cuando sigues haciendo zoom: notarás que en algún momento, los píxeles se vuelven claramente visibles de repente. Ese es el punto cuando el suavizado debe haberse desactivado para permitir una inspección precisa de la imagen.fuente
Brian Z proporcionó lo siguiente, que es la forma correcta, totalmente reversible y sin pérdidas (suponiendo que el paso de conversión sea realmente sin pérdidas, lo que creo que es o al menos debería ser) forma de poner png en un pdf. Debe convertir de png a jp2 sin pérdidas para cumplir con la estructura / lectores de PDF (creo).
Sin embargo, vale la pena señalar que puede suministrar los archivos .png directamente a img2pdf como:
Esto producirá el archivo pdf más pequeño e insertará el hexadecimal en bruto de png en los objetos dentro del pdf sin pérdidas *.
* El inconveniente es que este proceso no es reversible a diferencia del uso de jp2. Los datos del encabezado / pie de página y del encabezado / pie de página se han eliminado (lo que en realidad hace que los archivos sean aún más pequeños) del png que se inserta, dejando solo los datos de la imagen sin procesar (los metadatos que se eliminaron se integran en la estructura pdf), presumiblemente para "hackear" el pdf para mostrar png sin formato que técnicamente no cumple con el contenedor. Se muestra bien en firefox, y puede mostrarse bien en todos los lectores modernos, pero si png no cumple con el contenedor, entonces los lectores estrictos pueden no representar los datos png brutos (ya que no deberían esperarlo / procesarlos correctamente).
Aquí puede encontrar un script bash extremadamente crudo que me funcionó para extraer y reconstruir los archivos png con hashes coincidentes con los utilizados para la entrada en el pdf. https://github.com/jack4455667788/RebuildRawPNGExtractedFromPDF
fuente
PDF es un formato vectorial (es decir, el archivo contiene una descripción de líneas para dibujar), mientras que otros formatos (JPG, PNG) son formatos de trama (el archivo describe de qué color pintar cada píxel). Si explota un PDF, sigue siendo solo líneas definidas; JPG y PNG muestran la pixelación.
(OK, OK, mentí. Un PDF también puede ser una trama).
fuente
Creo que para el
-density
parámetro png a pdf debería ser pequeño en lugar de grande. Podrías probar algo comoconvert -quality 100 -density 50
fuente