Estoy buscando algo para comprimir PDF (no pasarlo a ZIP/RAR/…) y por ahora solo veo API de pago y usar ghotscript , pero me gustaría hacerlo desde velneo o vjavascript.
¿Alguna idea o solución?
Gracias de antemano
Estoy buscando algo para comprimir PDF (no pasarlo a ZIP/RAR/…) y por ahora solo veo API de pago y usar ghotscript , pero me gustaría hacerlo desde velneo o vjavascript.
¿Alguna idea o solución?
Gracias de antemano
Lamentablemente no, las librerías modernas de JavaScript incorporan contenido asíncrono, funciones de callback o propiedades no compatibles con el motor chustero actual… Si quieres comprimir pdf´s vas a tener que buscar otra alternativa que no esté dentro del ecosistema de Velneo
Existe una forma, seria con nodejs, podrías generar el PDF y te comprimiría, solo que el resultado siempre saldría con el mismo nombre y deberías de renombrar, a no ser que luego ejecutes rename con cmd para cambiar al nombre que necesitas mediante un .BAT. tanto el proceso con node y el rename deberías de ejecutarlo desde el bat.
Cuantos documentos necesitas comprimir, es constante?, cuantos mb en promedio?, justificaría tener un servidor node solo para eso?
Estoy pensando en comprimir los documentos pdf que van subiendo los usuarios de clientes y proveedores.
Ya ocupan un tamaño considerable.
Yo para comprimir los pdf antes de adjuntarlos a cualquier base de datos, los comprimo con ghotscript y reduzco mucho su tamaño.
En tus PDF existen imágenes?. Estoy probando ghotscript y para poder comprimir correctamente las imágenes bajan mucho de calidad.
Tienes que instalar Ghostscript primeramente en los clientes, configurar el PATH.
Utilizando esta configuración y probando con cmd:
gswin64 -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -dColorImageDownsampleType=/Bicubic -dColorImageResolution=42 -dGrayImageDownsampleType=/Bicubic -dGrayImageResolution=42 -dMonoImageDownsampleType=/Bicubic -dMonoImageResolution=42 -sOutputFile=salida.pdf entrada.pdf
… un archivo de 534KB pasa a 386KB pero las imágenes se ven de esta forma…
… pero el texto queda correcto, no se visualiza pixelado.
Si aumenta mucho el tamaño en tu servidor, puedes ver para tenerlos en un FPT, y según necesidad vas descargando a tu equipo local.
También podrías ver convertir los PDF en un objeto Binario, aunque esto también estaría aumentando el tamaño de la BBDD. Mira esto: subir archivos via SDV o guardarlos en un campo tipo objeto binario? - nº 8 por vectorman
Cabe destacar que en algunos pdf´s que tengan firmas digitales, al usar ghostscript, puede ser que se eliminen
Efectivamente se pierde calidad, puesto que estás comprimiendo el PDF, pero tampoco es una barbaridad, como puedes comprobar en las dos imágenes que adjunto. La primera es el original y la segunda la comprimida con estos parámetros, que son los que yo uso:
gswin64c.exe -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=“FICHERO.min.PDF” “FICHERO.PDF”
Y como dice fran_garcia, nosotros primero comprimimos y después firmamos digitalmente.