club-1 / docs

Documentation de l'hébergement CLUB1
https://club1.fr/docs/
Other
3 stars 4 forks source link

Réduction du poids du PDF #165

Open n-peugnet opened 2 years ago

n-peugnet commented 2 years ago

Actuellement les plus gros du poids vient évidemment des captures d'écran. Les plus grosses étant bien-sûr celles de MacOS.

Une première idée était d'ajouter l'option -resample 72 à la commande ImageMagick déjà utilisée pour compresser les images du PDF :

mogrify -strip -define png:compression-level=9

Malheureusement ce con de système Mac indique n'importe quoi dans ses informations de DPI :

$ identify -verbose tutos/webdav-mac/screen_001.png 
Image:
  Filename: tutos/webdav-mac/screen_001.png
  Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 1284x1066+0+0
  Resolution: 56.69x56.69
  [...]
  Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org

L'information Resolution: 56.69x56.69 étant évidemment totalement fausse.

Une idée serait de faire un script qui checkerait si la résolution est égale à 56.69 et seulement à ce moment là opérer un resample aux alentours de 36.

n-peugnet commented 1 year ago

Je viens d'avoir une idée pour ce problème. Il serait possible de simplement ajouter au nom du fichier la densité réelle de l'image pour ensuite la passer à l'option -density juste avant l'option -resample.

Par exemple :

screenshot-1.72.png
screenshot-2.144.png

La valeur pourrait être récupérée de cette manière :

$ name='coucou.144.png'
$ echo $name | sed -En 's/.*\.([0-9]+)\..*/\1/p'
144

(Peut-être qu'il faudrait utiliser une nomenclature un peu plus précise, genre 144dpi ? Histoire de ne pas avoir de matchs incorrects)

Il ne faut pas non plus oublier une fonctionnalité intéressante de Sphinx qui consiste à localiser les images des figures. De manière analogue à l'ajout de la langue aux fichiers de sous-titres avec VLC, il est possible d'ajouter une nouvelle version d'une image dans une autre langue en l'écrivant dans son nom juste avant l'extension. Le seul problème que j'y vois actuellement serait qu'avec cette technique, les versions dans les autres langues devront forcément avoir la même dpi que la version de base.