Dompdf y el peso de los archivos pdf

785 views
Skip to first unread message

javitxu

unread,
Nov 10, 2011, 10:38:21 AM11/10/11
to siwapp-users
Los archivos pdf generados en la versión 0.34 pesaban unos 210kb pero
en la 0.4 pesan cerca de 1.5 Mb. Es muchísimo peso para una simple
factura. He probado abrirlo con Illustrator y a guardar el archivo pdf
para web y el resultado es un pdf de unos 49kb, si la prueba la haces
con el programa de Vista previa del Mac se reduce a 29 kb.

Si abrimos ambos archivos en un editor de texto, se ve que el
generado por dompdf contine unas 13.000 líneas mientras que el
generado por Illustrator unas 300 líneas. Parece que el DOMPDF vuelve
a hacer de las suyas...

José de Zárate

unread,
Nov 10, 2011, 11:14:18 AM11/10/11
to siwapp...@googlegroups.com
sip. pienso que esta relacionado con un nuevo juego de fuentes que instalamos: las "freefonts". las instalé porque son libres y son las que más rango de caracteres (incluyendo, por ejemplo, símbolos de monedas exóticas) incluyen, pero extrañamente el peso del pdf empezó a cambiar. la verdad es que no me lo explico, máxime cuando resulta que es tan fácil de optimizar una vez que lo abres y guardas en cualquier visor pdf...

en fín, ticket al canto

2011/11/10 javitxu <javie...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "siwapp-users" group.
To post to this group, send email to siwapp...@googlegroups.com.
To unsubscribe from this group, send email to siwapp-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/siwapp-users?hl=en.




--
uh, oh.



fusionPT

unread,
Nov 10, 2011, 11:18:33 AM11/10/11
to siwapp...@googlegroups.com
Hola, a mi me pasaba lo mismo. Lo que hice fue:

- Encontrar la carpeta fonts dentro de data
- Dentro hay un archivo que se llama: dompdf_font_family_cache.dist.php y que contiene todas las fuentes a utilizar. Si las borras y dejas solo la que quieres ya pesará menos el .pdf.

Saludos.

José de Zárate

unread,
Nov 10, 2011, 11:24:36 AM11/10/11
to siwapp...@googlegroups.com
cuanto menos?

2011/11/10 fusionPT <gigaf...@gmail.com>

- Encontrar la carpeta fonts dentro de data
- Dentro hay un archivo que se llama: dompdf_font_family_cache.dist.php y que contiene todas las fuentes a utilizar. Si las borras y dejas solo la que quieres ya pesará menos el .pdf.



--
uh, oh.



fusionPT

unread,
Nov 10, 2011, 11:30:01 AM11/10/11
to siwapp...@googlegroups.com
Pues de 1.5mb para 16kb +/- en mi caso.

José de Zárate

unread,
Nov 10, 2011, 1:03:42 PM11/10/11
to siwapp...@googlegroups.com
jo, y cuantas fuentes quitaste?

On Thu, Nov 10, 2011 at 11:30 AM, fusionPT <gigaf...@gmail.com> wrote:
Pues de 1.5mb para 16kb +/- en mi caso.

--
You received this message because you are subscribed to the Google Groups "siwapp-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/siwapp-users/-/BwQyUlgYza0J.

To post to this group, send email to siwapp...@googlegroups.com.
To unsubscribe from this group, send email to siwapp-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/siwapp-users?hl=en.



--
uh, oh.



fusionPT

unread,
Nov 10, 2011, 1:26:03 PM11/10/11
to siwapp...@googlegroups.com
Me quedé solo con la Helvetica :)

javitxu

unread,
Nov 11, 2011, 8:18:56 AM11/11/11
to siwapp-users
lo voy a probar y os cuento

javitxu

unread,
Nov 11, 2011, 5:00:05 PM11/11/11
to siwapp-users
De la carpeta data/fonts he quitado un montón de fuentes y el peso ha
seguido igual. Por cierto, en esta carpeta no está la helvetica , de
la carpeta plugins/sfDomPDFPlugin/lib/dompdf/lib/fonts he quitado
todas menos la helvetica y también se ha quedado igual.

javitxu

unread,
Nov 11, 2011, 5:18:55 PM11/11/11
to siwapp-users
Ya lo he conseguido, he modificado el siguiente archivo metiendo la
fuente helvética en su carpeta ya que es la fuente que uso, 33kb,
supongo que más que fusionPT ya que tengo una imagen:
data/fonts/dompdf_font_family_cache.dist.php

<?php return array (
'sans-serif' => array (
'normal' => DOMPDF_FONT_DIR . 'Helvetica',
'bold' => DOMPDF_FONT_DIR . 'Helvetica-Bold',
'italic' => DOMPDF_FONT_DIR . 'Helvetica-Oblique',
'bold_italic' => DOMPDF_FONT_DIR . 'Helvetica-BoldOblique'
)
)

José de Zárate

unread,
Nov 13, 2011, 10:43:42 PM11/13/11
to siwapp...@googlegroups.com
javitxu y demas.

he estado echando un ojo mas intenso a esto de las fuentes, y he descubierto lo siguiente:

las fuentes que se usan ahora por defecto (las "dejavu"), son muy, muy pesadas. al añadirlas al pdf se obtienen pdfs pesados. estas fuentes las habíamos escogidos porque tenían una excelente cobertura. típicamente una fuente de estas puede tener de 300 a 600 kb. a poco que pongamos una negrita y una cursiva en el documento, se monta en 1.5mb facilísimo

las fuentes que tenía la versión anterior de siwapp, aunque también aumentaban el tamaño del pdf, era un tamaño más razonable y seguían siendo unicode. se obtenían pdfs de 150-300 kb.

las fuentes que vienen de "core" son obigatorias en todos los lectores pdf y por tanto no están incluidas en el documento, con lo que se obtienen pdfs ultraligeros: 30-60kb. el problema de estas fuentes es que no son unicode

para la 0.4.1, he modificado el orden de las fuentes, y va a ser el siguiente:

   si especificas alguno de los siguientes font-family:
  •     courier, monospace, fixed
  • times, times-roman, serif
  • sans-serif, helvetica
el pdf se generará con las fuentes "liberation", y tendrá un tamaño final del orden de los 100-300 kb

si especificas alguno de lso siguientes font-family:
  •   courier-dejavu, monospace-dejavu, fixed-dejavu
  • times-dejavu, times-roman-dejavu, serif-dejavu
  • sans-serif-dejavu, helvetica-dejavu
entonces se aplicará la fuente super pesada "dejavu" y el pdf resultante andará por los 1.4 mb

si especificas alguno de lso siguientes font-family:
  •   courier-raw, monospace-raw, fixed-raw
  • times-raw, times-roman-raw, serif-raw
  • sans-serif-raw, helvetica-raw
entonces se usarán las fuentes "core" y el pdf será superligero (30kb).

en resumen.

si no vais a usar ningún carácter raro , tan sólo ñ, acentos y símbolo de euro, podéis utilizar las fuentes -raw

si queréis sopote unicode decente a un pequeño coste de tamaño de archivo, utilizad las fuentes sin sufijos

si necesitáis usar algún caracter muy extraño que no aparece en las fuentes por defecto (como por ejemplo, ciertos símbolos de monedas centroamericanas), usad las fuentes con sufijo -dejavu, que son muy pesadas pero que aguantan casi de todo.

todo esto y mucho más en la wiki
--
You received this message because you are subscribed to the Google Groups "siwapp-users" group.
To post to this group, send email to siwapp...@googlegroups.com.
To unsubscribe from this group, send email to siwapp-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/siwapp-users?hl=en.



--
uh, oh.



Reply all
Reply to author
Forward
0 new messages