Como “comprimir” documentos PDF con software libre en GNU+Linux

Es común que al enviar un archivo en formato PDF tengamos problemas porque el archivo a enviar es muy pesado y el servidor de correo electrónico o formulario lo rechace. Una opción es ocupar una herramienta que disminuya el tamaño del archivo, pero muchas de las opciones disponibles en internet son SaaS o software privativo. LibreOffice Draw tampoco funciona bien, porque algunas imágenes o textos del archivo se corrompen al insertarlo en el programa. En este artículo te presento dos programas libres que puedes ocupar para reducir el tamaño de un PDF.

Notar que esta guía está pensada para usuari@s de Trisquel u otras distribuciones basadas en Ubuntu, así que no garantizo que vaya a funcionar.

Solución para la consola de comandos: GhostScript

GhostScript es un intérprete de PostScript, un lenguaje para describir páginas a imprimir, y de PDF, que es lo que nos interesa en este arítculo. Viene incluido en muchas distribuciones de GNU+Linux, así que probablemente no necesitaremos instalar nada.

Para usarlo, debemos dirigirnos a la carpeta donde está el archivo que queremos comprimir, click derecho y seleccionar la opción “Abrir en un terminal”. Una vez que la Terminal esté abierta, escribir:

gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/CALIDAD -sOutputFile=ARCHIVO-DE-SALIDA.pdf ARCHIVO-A-COMPRIMIR.pdf

Debemos reemplazar “CALIDAD” con alguna de las siguientes opciones, ordenadas por número de puntos por pulgada. Mientras más puntos, más calidad, pero también mayor será el tamaño del archivo resultante:

  • screen
  • ebook
  • printer
  • prepress

Creo que “ebook” es la mejor opción pues el archivo parece casi idéntico al original y al mismo tiempo reduce considerablemente el tamaño del archivo original.

También hay que reemplazar “ARCHIVO-DE-SALIDA” por el nombre que le queremos dar a nuestro archivo “comprimido” y “ARCHIVO-A-COMPRIMIR” por el nombre del archivo que queremos “comprimir”.

Screenshot at 2020-03-12 10:35:01
Cuando estemos en la carpeta donde está nuestro pdf, apretamos click derecho y luego “Abrir en un terminal”

En general este método funciona muy bien, pero con el uso básico que acabo de presentar no está garantizado que el nuevo archivo sea más pequeño que el original.

Solución gráfica: Moonshiner

Si no te gusta mucho la consola, existe una aplicación gráfica escrita en Python llamada MoonShiner que está basada en GhostScript. Es decir, ocupa GhostScript por detrás para que tú no tengas que escribir muchos comandos en la terminal.

Lamentablemente, no viene incluido en las distribuciones de GNU+Linux basadas en Ubuntu, por lo que tendremos que instalarla manualmente.

Instalación

  1. Descargar el programa en este enlace
  2. Abrir la carpeta en la que se encuentra el paquete
  3. Apretarlo con el click derecho y “Extraer Aquí”
  4. Entrar a la carpeta recién generada
  5. Click derecho y “Abrir en un terminal”
  6. Escribir:
sudo python setup.py install
Screenshot at 2020-03-12 12:05:16
Click derecho sobre el fichero recién descargado y “Extraer aquí”

Uso

Una vez instalado, podemos abrir la aplicación mediante:

  • Menú -> Gráficos -> Moonshiner
  • O bien, escribir “Moonshiner” en la línea de comandos (terminal)

Verás que el programa está en inglés y tiene muchas opciones de configuración, pero no nos preocupe|mos, es más fácil de usar de lo que parece.

Debemos arrastrar el archivo a comprimir hacia la ventana de Moonshiner. Aparecerá un pequeño cuadro de texto donde colocaremos el nombre del archivo comprimido de salida. Después de eso recomiendo activar las opciones “Downsample color images…”, “Downsample grayscale images…” y “Downsample monochrome images…”, todas presentes en la pestaña “Images”.

http://i.imgur.com/Y5ziLnu.gif

Agradecimientos

Debo darle las gracias a la amabilidad y solidaridad de las personas que dedican su tiempo a ayudar a otras en los foros y al desarrollador de Moonshiner que nos hace más fácil la vida sin necesidad de que renunciemos a nuestra libertad 🙂

Webografía

 

8 Reasons why DRM is bad

Digital Rights Management is a set of technological measures designed purposefully for restricting the user from exercising his right respecting works (generally artistic) in digital formats. In other words, are software features designed for making devices to not work for people, but for big media companies. It was made supposedly with the purpose of enforcing copyright by avoiding illegal copying. However, it does more harm than good, and here is why:

DRM-ed media comes with less freedoms than DRM-free ones

Consider music, for example. With music coming in CDs or DRM-free digital download, you can buy it anonymously, then the copy is yours. You can lend, give or sell it, even storing a personal copy of it. Now, let’s compare it with Spotify (fairly typical):

  • You must get a premiun account, so you need to identify yourself giving your real name and credit card number
  • You can’t save song for listening them on the reproducer of your preference because of DRM-ed Spotify software, even if it’s legal under the current copyright law.
  • You can’t copy, lend or sell the songs you listen on Spotify without giving your account and device to the other person, something that you can do perfectly with DRM-free music like the one that comes in CDs or available for digital download.
  • If Spotify stops offering his (dis)-service, your own music library will disapear (This already happened with Microsoft e-book store. Microsoft gave refunds to its customers, but what it did is like coming to their homes and take away their books giving them a monetary compensation. What Microsoft should have done is to give their customers pdf files of the books they bought).

DRM requires proprietary software and mass surveillance for applying it

DRM is only possible in the long-term if some parts of the DRM-ed system are secret and unmodifiable from users, which is bad for users’s freedom. If the software that implements DRM is free it could be modified for deleting the bad DRM features and then people could use the modified DRM-free version of the software.

Besides the fact that proprietary software is often malware, some systems implement surveillance systems with the purpose of enforcing DRM.

DRM destroys competition and free trade

Hasbro released new toy guns that only shoot darts sold by it. That elevates the cost of hosting a Nerf war, because of DRM. If Hasbro wants to increase the sales of its darts, then it should make better darts than the competition. That’s how the free market works.

Similar practices are applied in printers by refusing to work with third-party catridges, many times cheaper and/or better. And in Oculus Rift games to avoid ports for other platforms. If Facebook, the owner of Oculus, wants to increase Oculus Rift sales, it should make a better console than the competition.

DRM interferes with the right to repair

This article explains that some features in the new IPhone models won’t work if the user replaces the battery from an independent repair company. And it’s worse with MacBooks. Apple should stop imposing DRM and start selling true replacement parts.

DRM punishes who bought software and media legally

This infographic shows how people get attracted to obtaining illegal copies.

Legal copies of Metal Gear Solid 4 for Mac are unplayable because the game requires a constant internet connection to a specific server that was transferred to finance in late 2016. Unauthorized copies don’t have this requirement.

DRM-ed media are damaged goods

You may think: “Well, it’s better to have DRM-ed media than not having media at all”, but producing media and putting DRM on it are two different things. It’s perfectly possible to do the first without the another. Moreover, DRM is a set of techniques designed intentionally for years, so we can’t talk about an accident. Hence, it’s a form of oppresion that we must reject.

“DRM is necessary for artistic production. Without it, there will be no movies, books, etc!”

That is not so true. There is a community of DRM-free businesses that compete with others who do use DRM in their products.

Legal barriers for breaking DRM

In this article I showed how DRM attacks users’s freedom and makes the world a worse place. But fighting DRM is particularly difficult due to laws like the DMCA in the United States or the EUCD in France, that makes illegal to develop, distribute or even use software tools for bypassing DRM. A Russian programmer, Dmitry Sklyarov, was arrested in 2001 when he was in the US to speak at a conference, because he had written such a program in Russia, where it was legal to do so.

Laws that forbids breaking DRM also make harder to discover malware in proprietary software. For example, the DMCA and the EU Copyright Directive make it illegal to study how iOS apps spy on users, because this would require circumventing the iOS DRM. Anybody should have the right to audit publicly available software, including independent researchers, not only selected organizations.

The DMCA is so restrictive and authoritarian that the US Copyright Office does temporal exemptions to some rules, but the only sustainable solution for solving the problem is to abolish DMCA.

What can we do?

Abolishing DRM will be very hard, but we haven’t lose the fight yet! We can recover the control over our copies of media by rejecting DRM-encumbered products and services, by choosing DRM-free media, by asking companies to stop implementing DRM, and by starting businesses that respect users’s freedom. Others will choose to practice civil disobedience. But there is no need to be radical, anything you can do for help to the cause is useful for avoiding a future in which our devices serve as an apparatus to monitor and control our interaction with digital media.

Los programas privativos secuestran tus cosas

El software privativo es aquel que no respeta la la libertad de sus usuarios. Generalmente, en su distribución no se incluye el código fuente, por lo que es demasiado difícil de auditar de forma externa, lo que da lugar a una diversa gama de abusos por parte del desarrollador.

En este artículo veremos algunos casos de “puertas traseras” en estos programas. Una puerta trasera es una forma de darle poder de un dispositivo a alguien que no debe tener tal poder.

Amazon y 1984

El 2009 muchos usuarios del Kindle reportaron que 1984, de George Orwell, había desaparecido misteriosamente de su dispositivo, y estos usuarios ya habían pagado por él.

Para entender por qué esto está mal, imagina que compras una copia física de un libro. ¿Por qué la librería, el autor, la editorial o el estado debería tener el derecho de quitártelo? Acciones como las de Amazon desempoderan a la ciudadanía. Irónicamente, en la historia de 1984 toda la información está centralizada y el poder reinante puede editarla o eliminarla a voluntad, controlando el pensamiento de la poblacion. En el mundo distópico presentado en Fahrenheit 451, los “bomberos” se dedican a allanar las viviendas para quemar todos los libros que encuentran.

Si el software que ejecuta el Kindle fuese libre, podría ser modificado para que no reciba ninguna señal de Amazon, y así no borrar ningún libro ya adquirido.

Para complementar, el 2005, Rowling ordenó a varios canadienses de no leer los libros de Harry Potter que compraron por un error de la editorial. Si dichos libros hubiesen sido electrónicos, la autora pudo haber ordenado al desarrollador elimnarlos.

Cámaras de vigilancia

Este artículo denuncia la vulnerabilidad de algunas cámaras de “seguridad” fabricadas por Foscam. Estas tienen contraseñas débiles por defecto que no pueden ser cambiadas, lo que permite a casi cualquiera acceder a ellas por Internet, y entre otras cosas, modificar ciertos archivos críticos como la lista de programas que se ejecutan al prender la cámara para así añadir los programas que el atacante quiera ejecutar en ésta, dándole el control casi total del dispositibo.

Como estas cuentas de las cámaras tienen contraseñas que son imposibles de cambiar, no se trata únicamente de un problema de seguridad; sino que se convierte en una puerta trasera que puede ser usada por el fabricante y el gobierno para espiar a los usuarios.

Tesla

Hace algunos años, Tesla ocupó una puerta trasera en el software de sus autos para aumentar el alcance de la batería. La empresa vendía dos versiones de sus vehículos Model S y Model X, una de 60kWh y otra de 75kWh. La versión de 60 era la misma que la de 75 sólo que el software bloqueaba artificialmente la potencia. Dichos vehículos tienen un sistema de actualización over-the-air, que se caracteriza porque el usuario no puede rechazar las actualizaciones impuestas por Tesla.

Ahora bien, que Tesla haya aumentado temporalmente la capacidad de la batería para escapar de una catástrofe natural no es necesariamente malo, pero Tesla o el estado federal de Estados Unidos podría ocupar esa misma puerta trasera para anular el funcionamiento de la batería. Además, es el dueño del automóvil el único que debe poder determinar cuánta potencia ocupa su auto, y nadie más.

Borrar aplicaciones

Microsoft puede borrar tus aplicaciones de Windows 8 a voluntad.

Google puede hacer lo mismo con TU celular Android.

Una librería privativa de Android, llamada Moplus y ocupada pormás de 14000 aplicaciones puede instalar aplicaciones a la fuerza.

Podrías dejar que un servicio en el que confías desactivar remotamente aplicaciones maliciosas. Pero tú debes tener el poder de decidir en quién confiar y si confiar en alguien en primer lugar.

Conclusión

Un programa libre podría incluir una puerta trasera, pero nos da la libertad para crear una versión modificada sin dicha puerta y para compartir dicha versión con todo el mundo, ya sean programadores o no. Debemos ser firmes y rechazar el software privativo que entrega un poder injusto y fácilmente abusable a las grandes corporaciones de software, poder que no deben tener.

Los programas privativos son drogas adictivas

En el contexto del capitalismo de vigilancia, las grandes compañías tecnológicas lucran con la vida privada de sus “usuarios”, por lo que diseñan métodos para mantenerlos enganchados a sus productos y servicios y de este modo generar más datos. ¿Te pasa que no puedes evitar ver tu celular cada vez que suena, o que no puedes de dejar de ver vídeos en YouTube o en Netflix aún en contra de tu voluntad? En este artículo describiré de una manera simple cómo el software privativo es un componente esencial de este fenómeno, y cómo el software libre permite liberarnos.

En este artículo escrito por un empleado de Google se detallan diversos mecanismos para manipular la mente de las personas mediante las nuevas tecnologías. Aquí resaltaré algunas:

Si controlas el menú, controlas las elecciones

Esta sección explica cómo se genera la ilusión de que las opciones que aparecen en el menú propuesto son las únicas alternativas posibles, haciendo que la gente ignore el resto. Esto se puede ver en Facebook, donde su algoritmo secreto decide las noticias que lee la gente. Si el cliente de Facebook fuese libre, podríamos saber qué criterio utiliza para ordenar las publicaciones, o mejor aún, podríamos modificar el programa para que utilize el criterio que nosotros queremos que ocupe. Los programadores mejorarían el software y los que no lo son instalarían la versión modificada.

Pon una máquina tragamonedas en mil millones de bolsillos

Muchas aplicaciones, sobretodo de mensajería y juegos free-to-play, asocian una acción del usuario en ellas con una recompensa variable. Es decir, incitan al usuario a seguir usando la aplicación dándole la esperanza de recibir un refuerzo positivo.

Ejemplos son los premios aleatorios en videojuegos como Clash of Clans o World of Warcraft, para seguir pagando. Otra técnica usada hacer el juego fácil al comienzo y después volverlo estresante para así vender la oportunidad de pasarlo con menor dificultad. Candy Crush hace esto (ver punto 3). Si estos juegos fuesen libres, podríamos modificarlos para eliminar las recompensas aleatorias o hacerlas menos adictivas eliminando su variabilidad. También se pueden modificar para eliminar los anuncios engañosos de microtransacciones.

Escribiré un artículo más detallado sobre los vicios de los videojuegos en otra ocasión.

Aprobación social y reciprocidad social

Facebook abusa de la necesidad humana de aprobación social. En el artículo muestra el caso en que el usuario es etiquetado por un amigo y Facebook lo incita a ver la foto, pero resulta que dicho amigo no lo hizo de manera espontánea, sino que fue la misma plataforma la que le sugirió etiquetarlo. Enun cliente libre de Facebook se podrían eliminar esas sugerencias contraproducentes.

Linkedin abusa del concepto humano de reciprocidad social. Cuando recibes una invitación, la app de Linkedin te sugiere otras personas para invitar. De este modo, las otras personas reciben tu invitación y al mismo tiempo otra lista de personas a invitar. Por lo tanto, se produce un bucle infinito de invitacionesel concepto humano de reciprocidad social. Cuando recibes una invitación, la app de Linkedin te sugiere otras personas para invitar. De este modo, las otras personas reciben tu invitación y al m, generando una enorme cantidad de datos. Un cliente libre de Linkedin podría ser modificado para no sugerir invitaciones.

Reproducción automática

Muchas veces cuando terminamos de ver un vídeo en plataformas como YouTube o Netflix, dudamos si continuar viendo o no. Es en ese preciso momento cuando automáticamente se reproduce otro vídeo similar, provocando por inercia que decidamos ver este otro vídeo.

Una variante es mostrar vídeos similares a un costado. Siempre hay alguno de esos vídeos que nos llama la atención y terminamos abriéndolo.

La buena noticia es que existe un front-end libre de YouTube queno tiene reproducción automática. Sin embargo, aún queda mejorarlo para tener la opción de desactivar la barra de vídeos relacionados.

Conclusión

El software privativo, mediante las técnicas descritas, nos quita nuestro tiempo y nuestra libertad. Podríamos evitar el uso de estas tecnologías completamente, pero perderíamos sus bondades. Una solución es desarrollar front-ends libres que no incluyan estas anti-características para las plataformas populares, pero una solución aún mejor es migrar hacia servicios, estándares y plataformas descentralizadas, que no estén sujetas a arbitrariedades de entidades específicas y pongan a los usuarios comunes primero en la fila.

Por qué insistir en el software libre y rechazar el privativo

¿Qué es el software libre?

El software libre es aquel que respeta la libertad de sus usuarios. Específicamente, les otorga cuatro libertades esenciales:

0) La libertad de ejecutar el programa para cualquier propósito
1) La libertad de estudiar el código fuente del programa y modificarlo.
2) La libertad de distribuir copias exactas del programa
3) La libertad de distribuir versiones modificadas del mismo

Un programa que no respeta alguna de las cuatro libertades no es libre y se considera privativo, ya que priva de la libertad a sus usuarios.

El software privativo es injusto

Para entender la injusticia del privativo es necesario entender que fundamentalmente un computador sigue instrucciones de un programa escrito por un desarrollador, generalmente una empresa. Por lo tanto, es el desarrollador el que determina qué hace tu computador.

Notar que no sólo las máquinas de escritorio y laptops son computadores, sino también los celulares, tablets, routers, televisores, relojes y autos inteligentes (smartwatches y smartcars, respectivamente).

Dado lo anterior, el software privativo no permite la modificación del programa, dejando a los usuarios sujetos a las decisiones impuestas por el desarrollador y perdiendo el control sobre lo que hace su computador. El privativo tampoco permite distribuir copias para ayudar al prójimo, por lo que promueve una práctica antisocial al prohibir compartir una herramienta útil. Así, los usarios quedan divididos e impotentes.

Por otra parte, el desarrolador introduce habitualmente anti-características
en el programa, funcionalidades diseñadas e implementadas para perjudicar al
usuario. Por ejemplo, tanto Microsoft Windows como Google Chrome y IOS espían a
sus usuarios, los censuran, los restringen y abusan de ellos.
Y como el software es privativo, nadie puede cambiarlo.

También existen otras injusticias en el mundo de la informática, tales como la obsolescencia programada y la vigilancia masiva. El software privativo juega un rol importante en su consolidación y perpetuación. Sin embargo, son temas para otro artículo.

FAQ

Si el programa es gratis no es necesario que lo comparta porque los otros pueden simplemente descargarlo

El usuario sigue siendo dependiente injustamente de los medios de distribución del desarrollador, por lo que no se puede distribuir el programa por otros medios. Además, si el desarrollador deja de distribuirlo, nadie podrá conseguirlo, al menos no legalmente.

No voy a modificar el código, ¿para qué querría que el software fuese libre?

La queja anterior quiere decir que el usuario no necesita las libertades del
software libre porque no puede o no quiere ejercerlas. La práctica ha
demostrado que esto es falso. Si un usuario no sabe programar, puede acudir a
otros para que modifiquen el programa por él. Ésto es posible de varias
maneras: contratando a un programador para que realize los cambios,
participando en la comunidad del software, o utilizando versiones modificadas
de programas ya existentes.

Por ejemplo, muchos programas libres populares son versiones
modificadas de otros. Por ejemplo, LibreOffice está basdo en OpenOffice, MATE
en GNOME, OpenArena en Quake3, IceCat en Firefox, Ubuntu en Debian, etc.

En conclusión, todos los usuarios gozan de las libertades del software libre,
sin importar sus conocimientos en computación o su tiempo disponible.

El desarrollador tiene la libertad de elegir qué licencia usar para su programa

No hay que confundir la libertad con el poder. La libertad consiste en el control sobre las decisiones que afectan principalmente a uno mismo, mientras que el poder consiste en el control sobre las decisiones que afectan principalmente a otras personas. Cuando el desarrollador escoge una licencia de software privativo, no está ejerciendo su libertad, sino que está ejerciendo un poder injusto sobre los usuarios de ese software.

La ley le otorga al autor el derecho de escoger la licencia para su obra

Primero, recordemos que en la mayoría de los casos, son las compañías de
software quienes son las titulares de los “derechos”.

En segundo lugar, que la práctica descrita esté alavada por la ley no significa
que sea correcta. Hace algunas décadas era ilegal que un negro se sentara junto
a un blanco en un autobús en varios estados de los Estados Unidos, pero dicha
ley era injusta. Recordemos también que hasta hace algunos años, el divorcio
era ilegal en nuestro país, práctica que, en caso de que ambas partes
involucradas estén de acuerdo, no supone ningún problema.

El software libre acaba con la competencia

Completamente falso. Como no hay un monopolio sobre el desarrollo del software, cualquier empresa puede aprovechar el software, aumentando la competencia.

El software libre es comunismo porque acaba con la propiedad privada

En el mundo del software libre, la propiedad privada sí existe. El
desarrollador de un programa no está obligado a distribuirlo. Del mismo modo,
si un usuario modifica su copia de un programa libre no tiene por qué
compartirlo con nadie. Las libertades en las que se basa el software libre no
son obligaciones.

El software libre es inseguro ya que cualquiera puede hallar una vulnerabilidad y explotarla

Lo anterior asume que la mayoría de los programadores que estudian el código
fuente de un programa buscan explotar las fallas de seguridad que tenga un
programa, lo cual es falso.

Con el software libre, cualquiera puede auditar el código fuente para encontrar
un error y reportarlo para ser corregido.

Por otra parte, hay que considerar que el software privativo no ofrece protección
alguna contra el desarrollador. Además, si se encuentra una vulenaribilidad, se
dependerá del éste para arreglarla, por lo que los sistemas sin soporte oficial
quedarán expuestos por siempre.

A lo anterior hay que agregar que la NSA explota e incluso crea vulnerabilidades en sistemas privativos tales como Microsoft Windows.

No es necesario que X videojuego sea libre porque tiene soporte de mods para modificar el juego.

El soporte de mods y sus detalles depende del desarrollador, por lo que el
usuario no puede escribir un mod como él quiere, sino como el desarrolador
quiere. Además, en caso de existir un bug con el motor, o spyware, el usuario
se encuentra totalmente impotente para solucionarlo.

El software libre atenta contra los derechos de autor

El software libre sí se adscribe al sistema de los “derechos” de autor. Un programa libre viene con una licencia de software libre que garantiza las cuatro libertades esenciales.

El software libre acaba con la innovación

La innovación consiste en basarse en lo ya existente para crear algo nuevo.
El software libre permite modificar un programa ya existente para desarrollar
otro, mientras que en el privativo es necesario empezar desde cero para
desarrollar una versión mejorada de un programa, lo que requiere recursos que
podrían ser invertidos en innovar con el software libre. Por lo tanto, es el software privativo el que está en contra de la innovación, no el software libre.

Si no se les paga a los desarrolladores, no se desarrollarán más programas

En el mundo del software libre, a los desarrolladores sí se les paga. Existen
varias empresas dispuestas a pagar por mejorar su tecnología informátca para
mejorar sus procesos de negocio. Una lista no exhaustiva de este tipo de empresas se encuentra aquí.

Sumado a lo anterior, muchos proyectos de software libre se financian vía Crowdsourcing.

La situación actual no va a cambiar porque yo me cambie al software libre

Es una visión corto-placista porque no considera la migración al software
libre como parte de un proceso de largo plazo. ¿Acaso alguien puede volverse un
profesional estudiando un sólo día? ¡Claro que no! Es necesario ser constante,
y, al tratarse de un movimiento social, también es necesario realizar esfuerzos
de manera colectiva. Afortunadamente, el movimiento del software libre lleva
más de 30 años y tiene miles de seguidores en todo el mundo, lo que permitió el
desarrollo de un sistema operativo libre completamente funcional: GNU+Linux