Réduire la taille d’un fichier PDF avec Ghostscript

Il arrive parfois, lorsque l’on désire mettre en ligne un document PDF (sur un site de recherche de job par exemple), que l’on se rende compte que le fichier pdf fait quelques Ko de trop (la faute, parfois, à la photo insérée en ultra-haute résolution et exportée comme telle par Word).

Pour y remédier, Ghostscript permet de rapidement générer un nouveau PDF de taille plus raisonnable. Il suffit d’utiliser la commande:

1
gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -sOUTPUTFILE=newPDF.pdf -f PDF.pdf

Qui permet de compresser le fichier PDF.pdf vers newPDF.pdf avec une qualité /printer. A noter que la qualité de compression peut prendre les valeurs suivantes:

  • /screen pour un document destiné à l’écran (image 75 dpi)
  • /ebook pour une qualité d’image de 150dpi (basse)
  • /printer pour un document destiné à l’impression, 300dpi
  • /prepress pour un document destiné à l’impression professionnelle, conservation des couleurs (300 dpi)
  • /default quasi identique à /screen

A titre d’information, l’utilisation de cette commande avec qualité /prepress m’a permi de passer la taille d’un document de 530Ko généré par exportation depuis Word à 152Ko.

Sources: http://www.cuk.ch/articles/2503http://milan.kupcevic.net/ghostscript-ps-pdf/

Catégorie : Linux | Tag , | Commentaires fermés sur Réduire la taille d’un fichier PDF avec Ghostscript

Ebuild pour JD-GUI

Capture d'écran de JD-GUI

JD-GUI est un utilitaire permettant d’afficher le code source des fichiers « .class » Java.
Cet utilitaire est gratuit pour une utilisation non-commerciale et afin de pouvoir l’installer en tant que paquet sous Gentoo, j’ai créé un ebuild permettant son installation.

Cet ebuild est loin d’être parfait (n’hésitez pas à me faire vos remarques), mais remplit son rôle.

jd-gui-0.3.3.ebuild (à placer dans dev-util/jd-gui )

# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils multilib

DESCRIPTION="A standalone graphical utility that displays Java source codes of “.class” file"
HOMEPAGE="http://java.decompiler.free.fr/?q=jdgui"
SRC_URI="http://java.decompiler.free.fr/jd-gui/downloads/${PF}.linux.i686.tar.gz"
LICENSE="Unknown"
SLOT="0"
KEYWORDS="~x86 ~x86-64"
IUSE=""
RESTRICT="strip mirror fetch"

DEPEND=""
RDEPEND="${DEPEND}"




src_unpack() {
    unpack ${A}
    #remove gnome related stuff (nautilus)
    rm -rf contrib 
    
    rm readme.txt
}


src_install() {
	exeinto "/usr/bin"
	doexe "${WORKDIR}/jd-gui"
}

pkg_postinst() {
		einfo "JD-GUI is free for non-commercial use."
		einfo "This means that JD-GUI shall not be included or embedded into commercial software products. "
		einfo "Nevertheless, JD-GUI may be freely used for personal needs in a commercial or non-commercial environments."
		ewarn "JD-GUI creates a jd-gui.cfg file in the current working directory."
		ewarn "Make sure you run it in a directory you can remove afterwards"
}

Plus d’informations sur JD-GUI sur  http://java.decompiler.free.fr/?q=jdgui

 

Le code de l’ebuild est accessible sur mon dépôt github

 

Catégorie : Ebuild, Gentoo | Tag , , | Commentaires fermés sur Ebuild pour JD-GUI

Ebuild dex2jar (Convertisseur .dex Android en .class)

Dans le but de montrer la nécessiter d’encoder les fichiers sources d’une application Android, j’ai eu besoin d’utiliser dex2jar, un outil permettant d’extraire les fichiers .class d’une paquet .dex (pour la VM Dalvik d’Android).

Comme je préfère avoir tous mes paquets gérés par portage (gestionnaire de paquets Gentoo), j’ai décidé d’écrire un ebuild pour la version courante (la 0.0.7.9-SNAPSHOT).

 

Tout d’abord, pour tester l’ebuild (par exemple la suppression des .bat destinés à windows), il suffit d’utiliser cette commande jusqu’à avoir le résultat désiré:

1
ebuild dex2jar-0.0.7.9.ebuild digest && rm /var/tmp/portage/dev-util/dex2jar-0.0.7.9/ -rf && FEATURES="test" ebuild dex2jar-0.0.7.9.ebuild test

Ensuite, dans le répertoire dev-util/dex2jar/files de l’overlay, il faut placer le fichier dex2jar suivant:

#!/bin/sh

exec /opt/dex2jar/dex2jar.sh ${1}

L’ebuild final, dex2jar-0.0.7.9.ebuild est à placer dans l’overlay sous dev-util/dex2jar

# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils multilib

DESCRIPTION="A tool for converting Android's .dex format to Java's .class format"
HOMEPAGE="http://code.google.com/p/dex2jar/"
PSUFFIX="-SNAPSHOT"
SRC_URI="http://dex2jar.googlecode.com/files/${PF}${PSUFFIX}.zip"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~x86 ~x86-64"
IUSE=""
RESTRICT="strip mirror"

DEPEND=""
RDEPEND="${DEPEND}"

MY_SUBDIR="${PF}${PSUFFIX}"
S="${WORKDIR}/${MY_SUBDIR}"

src_unpack() {
    unpack ${A}
    # go to the source 
    cd "${S}" 
    #remove unneded bat files
    rm `find . -type f -iname '*.bat'`
    
    # Fix permissions
    chmod a+x dex2jar-dump.sh  dex2jar.sh
    chmod a-x LICENSE.txt NOTICE.txt
}


src_install() {
	cd "${S}"
        for f in $(find .); do
                local t="$(dirname ${f})"

                if [[ ! -d "${f}" ]]; then
                        if [[ -x "${f}" ]]; then
                                exeinto "/opt/dex2jar/${t}"
                                doexe "${f}"
                        else
                                insinto "/opt/dex2jar/${t}"
                                doins "${f}"
                        fi
                fi
        done


	exeinto "/usr/bin"
	doexe "${FILESDIR}/dex2jar"

        
}

pkg_postinst() {
		einfo "This is an unsupported ebuild."
}

L’ebuild est également accessible sur github

Plus d’informations sur dex2jar sont disponibles sur la page officielle du projet

 

Documentation pour la création d’ebuild:

Catégorie : Android, Ebuild, Gentoo | Tag , , | Commentaires fermés sur Ebuild dex2jar (Convertisseur .dex Android en .class)

Faille de sécurité de Skype corrigée sur Android

Les propriétaire d’un smartphone sur Android et ayant installé l’application Skype ont probablement reçu un email les avertissant d’une vulnérabilité touchant l’application Skype. Cette dernière, révélée par Android Police permet entre autres d’obtenir le noms, l’historique des dialogues et les contact du propriétaire du téléphone depuis n’importe quelle application malveillante présente sur ce même téléphone.

Cette faille vient d’être corrigée et Skype invite actuellement tous les utilisateurs l’utilisant sous Android à mettre à jour l’application.

 

Pour plus de détails sur la faille: Android Police

Catégorie : Android | Tag | Commentaires fermés sur Faille de sécurité de Skype corrigée sur Android

Changement d’hébergeur

Petit billet pour vous mentionner un changement d’hébergeur pour mon domaine 😉

Tout devrait rentrer dans l’ordre d’ici quelques heures niveau DNS (chez moi ils sont à la traîne).

Au menu: gain de quelques millisecondes (et meilleur support technique).

Edit: correction du formatage du à un réencondage de la sauvegarde SQL.

Catégorie : Divers | Commentaires fermés sur Changement d’hébergeur

De Gentoo à Archlinux

N’ayant plus beaucoup de temps pour garder à jour mon PC « de maison » sous Gentoo, je me retrouve parfois avec plus d’un mois de retard dans les mise à jour. Résultat: au moins 300 paquets à compiler et bien souvent, des problèmes (surtout à cause de mon utilisation de paquets en développement). De plus, j’avais quelques problème de « freez » temporaire sous Gentoo; impossible de trouver d’où ça venait, les disque étaient en ordre, la RAM aussi, aucune erreur dans les logs.

Du coup, pour avoir une machine avec des logiciels « à la pointe » sans avoir trop de soucis, j’ai opté pour ArchLinux. La migration a été plutôt simple, étant donné que les données non-spécifiques à la distribution se trouvent sur des partitions séparées. Lire la suite

Catégorie : Linux | Tag , , | Commentaires fermés sur De Gentoo à Archlinux

Deux types de RAM sur un Lenovo W510

En voulant booster un peu mon laptop, j’ai décidé de lui ajouter 8GB de RAM en plus des 4GB d’origine. Ceux d’origine étant en 1066Mhz, je me suis dit que de prendre 8GB en 1333Mhz et profiter du dual channel serait judicieux…

Seulement, une fois installées, les deux barrettes n’étaient pas reconnues (toujours 4GB de Ram). La solution: fouiller dans la documentation en ligne de chez Lenovo. En effet, les canaux ne sont pas agencés par emplacement de slots, mais plutôt croisés: canal 1: un slot sous le clavier, l’autre sous la machine, idem pour le canal 2. (source: support Lenovo en ligne). Lire la suite

Catégorie : Uncategorized | Tag | Commentaires fermés sur Deux types de RAM sur un Lenovo W510

Installation de Redmine 1.0.1 sur CentOS 5.5

Voici un petit guide d’installation de Redmine 1.0.1 sur la distribution CentOS 5.5 avec Apache. Nous partirons du principe que votre CentOS contient les paquets de base de la configuration « Server » proposée à l’installation. Ce guide peut également servir pour une migration Lire la suite

Catégorie : Configuration, Linux | Tag , , , | Commentaires fermés sur Installation de Redmine 1.0.1 sur CentOS 5.5

Améliorer la durée de vie de la batterie de son HTC Desire

En cherchant quelques idées de modifications pour mon HTC Desire, je suis tombé sur un blog assez sympa consacré à cet appareil. J’y ai notamment trouvé une manipulation supposée prolonger la durée de vie de la batterie en la recalibrant. Et je dois avouer que ça a fonctionné pour moi qui commençait à désespérer de devoir charger mon mobile tous les jours ou deux jours. La voici :

  1. Allumer son mobile et le charger durant 8 heures
  2. Débrancher le chargeur
  3. Eteindre le téléphone et le charger durant 1 heure
  4. Débrancher le chargeur, allumer le téléphone et patienter deux minutes
  5. Eteindre le téléphone et le charger durant 1 heure
  6. Débrancher le chargeur et utiliser le téléphone normalement.

Evidemment, si la batterie est en fin de vie ou qu’elle fonctionne déjà parfaitement, cette manipulation n’aura aucun effet.

Catégorie : Uncategorized | Tag , | Commentaires fermés sur Améliorer la durée de vie de la batterie de son HTC Desire

Mise à jour du blog

Rien de très neuf en ce moment, j’ai juste rapidement mis à jour le blog à la version 3 de wordpress. Le thème sera mis à jour dès que j’aurai du temps, en attendant c’est le modèle Twenty Ten (celui par défaut de WordPress 3) qui sera affiché.
Autre petit changement, j’utilise maintenant CodeColorer au lieux de SyntaxHiglighter (pour afficher du code), surtout pour rendre plus léger l’affichage du blog.

Catégorie : Uncategorized | Tag | Commentaires fermés sur Mise à jour du blog