J’éprouve un sentiment de frustration envers les publicités (à part quand elles sont [bien faites](https://www.youtube.com/watch?v=ivN0-XtNIuQ) bien entendu).
Comme, j’imagine, beaucoup d’entre vous, j’utilise un bloqueur de publicité pour surfer sur le net, mais il y a un genre de publicité qui me hérisse le poil au plus haut point: la publicité sur les billets à imprimer.
Je suis conscient que l’on peut simplement ouvrir le code à scanner sur nos téléphones de nos jours, mais même, n’est-ce pas plus agréable de simplement se débarrasser des publicités directement?
Une première solution évident serait d’importer le fichier pdf dans n’importe quel [logiciel d’édition d’images matricielles](https://www.gimp.org/) et utiliser un outil de détourage rectangulaire quelconque pour en finir avec la publicité dérangeante.
Cependant, cela produit un nouveau pdf (ou une image en fait) qui ne contient plus aucune information textuelle, et qui (suivant la résolution) grossit sensiblement en poids.
Pour éviter ça, il suffit dès lors d’utiliser un logiciel de dessin vectoriel, par exemple ouvrir le fichier pdf dans [inkscape](https://inkscape.org/) et supprimer d’un seul coup l’image correspondant à la publicité.
Mais inkscape peut toujours nous servir pour supprimer ces publicités dérangeantes!
En effet, parmi les informations que ce dernier fournit, il donne la position et les dimensions de ces publicités, comme illustré ci-dessous (cliquez pour agrandir):
Après avoir ouvert le pdf, on commence par sélectionner la publicité (<spanstyle="color:#8b0074">en violet</span>), il se peut qu’on ait besoin de dégrouper les objets (ctrl+maj+g).
Ensuite, on fixe les dimensions dans notre unité de mesure favorite, par exemple en cm (<spanstyle="color:#0000ff">en bleu</span>), et finalement noter les dimensions du cadre de la publicité en question (<spanstyle="color:#ff0000">en rouge</span>).
Ensuite, il nous suffit d’utiliser LaTeX pour recouvrir la publicité d’un voile blanc (ou n’importe quelle couleur de fond, je laisse au lecteur le soin de découvrir comment LaTeX permet d’importer n’importe quellle couleur RGB à l’aide du paquet [xcolor](https://www.ctan.org/pkg/xcolor)).
J’ai déjà utilisé le paquet [wallpaper](https://www.ctan.org/pkg/wallpaper) dans un [autre billet]({filename}latex-letterhead-fr.md), mais celui-ci souffre de quelques limitations: il ne permet pas d’importer plusieurs pages (comme sur un billet aller-retour), et tikz interagit mal avec la géométrie de la page induite par wallpaper (ne me demandez pas pourquoi).
Je me suis donc inspiré de cette [réponse sur stackexchange](https://tex.stackexchange.com/questions/12838/can-i-add-tikzpictures-to-pages-included-with-pdfpages) pour arriver à mes fins.
Pour faire simple, on utilise le package [pdfpages](https://ctan.org/pkg/pdfpages) avec ses options `pages={-}` pour inclure toutes les pages, et `pagecommand` pour inclure rectangle blanc avec les bons positionnements et dimensions `X`, `Y`, `L`, `H`.
Cela donne le fichier `.tex` suivant, qui peut simplement être compilé à l’aide de votre moteur latex favoris (par exemple `pdflatex fichier.tex` deux fois).
**Remarque:** vous avez sans doute remarqué le signe moins devant `Y` et `H`. Cela est dû à l’orientation des repères qui n’est pas la même entre tikz et inkscape (et gimp).
Vous avez sûrement remarqué que ce ne sont pas les mêmes dimensions que m’ont donné inkscape, c’est à cause des billets Air France qui possèdent parfois un encart publicitaire plus grand. Qui peut le plus peut le moins.
Comme je n’achète pas des billets d’avion tous les jours, je n’ai pas ressenti le besoin de scripter tout ça, en plus je n’ai pas assez d’exemples de tels fichiers pour faire une base de donnée suffisamment intéressante.
Néanmoins, écrire ce billet a été l’occasion de me dire que ça pourrait être une bonne idée pour récupérer collaborativement cette base de donnée…
Comme il s’agit d’un dépôt privé auto-hébergé, si vous souhaitez contribuer, je vous invite à faire une *pull request* sur ce
[dépôt github](https://github.com/Chouhartem/hidepdfads) ou m’envoyer un courriel à l’adresse <imgstyle="height:2em"src="/images/mel.png"alt="courriel"/>. Dans tous les cas, n’hésitez pas à me contracter si vous avez des remarques, des commentaires ou des questions.
Un script qui repose sur des heuristiques (comme le fait qu’une publicité aura de grandes chances d’être une image) pour supprimer automatiquement les pages de publicités d’un PDF (par exemple celui d’un magazine).