Entre las principales mejoras introducidas en el soporte de imágenes en PDFDocument
con Xojo 2021r2, como por ejemplo el soporte de transparencia, soporte de canal alfa, o el modo en el que se codifican los datos en el stream PDF resultante (adiós DCTEncoding
), se encuentra una que viene a corregir el aspecto de las imágenes que no se mostraban con toda la nitidez que cabría esperar cuando se añadían a las páginas del documento PDF. Ya no más.
A partir de Xojo 2021r3 comenzamos a manejar las imágenes añadidas a PDFDocument
de una forma diferente, especialmente cuando estas se agregan a la página utilizando un tamaño de destino inferior al de la propia imagen original. Probablemente esta sea la acción más frecuenta cuando añadimos las imágenes utilizando unas líneas de código similares a las siguientes:
Var d As New PDFDocument var g as Graphics = d.Graphics g.DrawPicture myImage, 10, 10, 100, 100, 0, 0, myImage.Width, myImage.Height
o bien:
g.DrawPicture myImage, 10, 10, myImage.Width/3, myImage.Width/3, 0, 0, myImage.Width, myImage.Height
Donde "myImage"
es una imagen que se ha añadido al proyecto de Xojo, cargada desde disco o bien obtenida a partir de una consulta a una base de datos.
Aquí puedes apreciar la calidad que se venía obteniendo hasta ahora (arriba), y la nueva calidad que puedes esperar a partir de ahora (abajo):
De igual forma, el nuevo modo en el que se crean los streams de datos correspondientes a las imágenes PDF, para proporcionar mayor nitidez, implica que se añadirán los datos correspondientes a la resolución completa original de la imagen al PDF resultante. En otras palabras, aumentará el tamaño del documento PDF.
Por ejemplo, comparemos este mismo documento creado con Xojo 2021r2.1 (arriba) y Xojo 2021r3 (abajo):
El PDF creado con Xojo 2021r2.1 tiene un tamaño de 521 KB, mientras que el creado con Xojo 2021r3 tiene un tamaño de 3,1 MB. Esto se debe a que simplemente el tamaño de las imágenes utilizadas, a su resolución completa, supone un total de 950 KB, a lo cual deben de sumarse los datos correspondientes al soporte de máscara y canal alfa en la nueva versión de Xojo.
El lado positivo del aumento del tamaño en el documento es que, gracias a que se incluyen las imágenes a su resolución completa, ahora estas continuarán mostrándose nítidas en el documento PDF incluso cuando se emplea un porcentaje de ampliación superior al 100% en la aplicación Visor de PDF, tal y como podemos ver aquí (Xojo 2021r2.1, arriba; Xojo 2021r3, abajo), donde la página se ha ampliado al 500% en Acrobat Reader:
Tamaño de Documento vs. Calidad de Imagen
Dependerá en gran medida de lo que quieras ofrecer a tus usuarios. Es decir, tomando como caso nuestro documento de ejemplo podemos observar los siguientes valores:
- Resolución del documento PDF (ancho x alto): 612 x 792 píxeles.
- Resolución de la imagen de la manzana (ancho x alto): 607 x 576 píxeles.
Como puedes ver, incluso simplemente la imagen de la manzana tiene prácticamente la misma resolución que la página completa del documento PDF, aunque finalmente se añada a esta utilizando un tamaño de 100 x 100 píxeles. Esto significa que la imagen mantendrá su nitidez incluso si decidimos utilizar un valor de ampliación del 800% en la aplicación Visor de PDF; si bien a un coste del incremento de tamaño en el documento PDF resultante.
Este es también el mismo caso para la imagen con los barriles de las manzanas (960 x 285 píxeles), y la imagen de césped añadida en la parte inferior de la página (1.200 x 800 píxeles); si bien estas se añaden al documento con una resolución de 140 x 350 píxeles, y prácticamente a su resolución total, respectivamente.
Por tanto, y teniendo lo anterior en cuenta, probablemente querrás que las imágenes originales añadidas a las páginas de tus documentos PDF tengan, como mucho, el doble de resolución en comparación con el que vayas a emplear finalmente para añadirlas a las páginas. Esto proporcionará una buena calidad y también mantendrá un tamaño razonable en el documento PDF final.