# Comprimir fichero PDF usando velneo o vjavascript

**URL:** <https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330>\
**Category:** Velneo\
**Created:** [13 Julio, 2023 11:34 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330 "2023-07-13T11:34:06Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![erubio](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@erubio](https://foros.velneo.com/u/erubio)\
**Post date:** [13 Julio, 2023 11:34 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/1 "2023-07-13T11:34:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![fran\_garcia](https://avatars.discourse-cdn.com/v4/letter/f/df705f/32.png) [@fran\_garcia](https://foros.velneo.com/u/fran_garcia)\
**Post date:** [13 Julio, 2023 14:06 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/2 "2023-07-13T14:06:37Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![figaricarlos](https://avatars.discourse-cdn.com/v4/letter/f/7ea924/32.png) [@figaricarlos](https://foros.velneo.com/u/figaricarlos)\
**Post date:** [15 Julio, 2023 15:51 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/3 "2023-07-15T15:51:20Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![figaricarlos](https://avatars.discourse-cdn.com/v4/letter/f/7ea924/32.png) [@figaricarlos](https://foros.velneo.com/u/figaricarlos)\
**Post date:** [15 Julio, 2023 15:56 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/4 "2023-07-15T15:56:56Z")

</div>

Cuantos documentos necesitas comprimir, es constante?, cuantos mb en promedio?, justificaría tener un servidor node solo para eso?

---

<div class="post-metadata">

**Author:** ![erubio](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@erubio](https://foros.velneo.com/u/erubio)\
**Post date:** [17 Julio, 2023 10:13 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/5 "2023-07-17T10:13:22Z")

</div>

Estoy pensando en comprimir los documentos pdf que van subiendo los usuarios de clientes y proveedores.

Ya ocupan un tamaño considerable.

---

<div class="post-metadata">

**Author:** ![revisa](https://avatars.discourse-cdn.com/v4/letter/r/8797f3/32.png) [@revisa](https://foros.velneo.com/u/revisa)\
**Post date:** [17 Julio, 2023 11:09 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/6 "2023-07-17T11:09:52Z")

</div>

Yo para comprimir los pdf antes de adjuntarlos a cualquier base de datos, los comprimo con ghotscript y reduzco mucho su tamaño.

---

<div class="post-metadata">

**Author:** ![figaricarlos](https://avatars.discourse-cdn.com/v4/letter/f/7ea924/32.png) [@figaricarlos](https://foros.velneo.com/u/figaricarlos)\
**Post date:** [17 Julio, 2023 13:38 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/7 "2023-07-17T13:38:10Z")

</div>

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…

 ![imagen](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/c/c8e8e1208c2791d840e27935ac3b5410d59222a0.png)

… 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](https://foros.velneo.com/t/subir-archivos-via-sdv-o-guardarlos-en-un-campo-tipo-objeto-binario/3608/8)

---

<div class="post-metadata">

**Author:** ![fran\_garcia](https://avatars.discourse-cdn.com/v4/letter/f/df705f/32.png) [@fran\_garcia](https://foros.velneo.com/u/fran_garcia)\
**Post date:** [17 Julio, 2023 16:51 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/8 "2023-07-17T16:51:20Z")

</div>

Cabe destacar que en algunos pdf´s que tengan firmas digitales, al usar ghostscript, puede ser que se eliminen

---

<div class="post-metadata">

**Author:** ![revisa](https://avatars.discourse-cdn.com/v4/letter/r/8797f3/32.png) [@revisa](https://foros.velneo.com/u/revisa)\
**Post date:** [21 Julio, 2023 11:17 UTC](https://foros.velneo.com/t/comprimir-fichero-pdf-usando-velneo-o-vjavascript/11330/9 "2023-07-21T11:17:23Z")

</div>

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.

 ![Original](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/f/f125b35541e6655f0d24b7b7dcc3c985d06cf95a.png)

 ![Reducido.PNG](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/0/0f8ca44d5f86a43b1a7f325ff49382571237adc8.jpeg)
