Mot-clé - poppler-glib

Fil des billets

vendredi 27 septembre 2013

Contourner le bug #65002 dans Poppler avec Vala

Récemment, je me suis mis à apprendre le langage Vala (je ne connais pas encore toutes les suptilités), et en essayant de comprendre un des exemples, la compilation a échoué.

J'ai trouvé, qu'il avait déjà été mentionné ici.

En parcourant le fichier poppler-glib.deps, on constate qu'il y a une référence à Gtk+2 (en réalité c'est GDK 2).

Donc si on remplace le nom du package gdk-2.0 par gdk-3.0 tout fonctionne correctement.

Pour éviter de modifier un fichier sur le système, le plus simple consiste à le copier [1] (dans le dossier où se trouve notre programme vala).

$ cp /usr/share/vala-0.20/vapi/poppler-glib.* .

On fait le remplacement, et si l'on a besoin de compiler avec le support de Poppler, voici les options qu'il faut passer au compilateur.

$ valac --vapidir=. --pkg poppler-glib ...

Pour conclure, je vous présente un programme,qui va rechercher des informations contenu dans un fichier PDF.

Pour le compiler.

$ valac --vapidir=. --pkg poppler-glib --pkg glib-2.0 --pkg gio-2.0 pdf-info.vala

Si tout se passe bien (ne faites pas attention aux warnings), on le lance de cette manière.

$ ./pdf-info -h
Usage:
  pdf-info [OPTION...] 

Help Options:
  -h, --help         Show help options

Application Options:
  -f, --filename     Path to PDF file

$

Quelques exemples de résultats possibles

$ ./pdf-info -f ~/Documents/packaging-tutorial.fr.pdf
title: Tutoriel : la construction de paquets Debian
Nb pages: 78
pdfTeX-1.40.13
$

$ ./pdf-info -f ~/Téléchargements/accuseReception.pdf 
No title
Nb pages: 2
Apache FOP Version 1.0
$

$ ./pdf-info -f ~/Téléchargements/BSD_08_2013.pdf 
title: BSD Magazine
Nb pages: 48
Adobe PDF Library 9.9
$

Note

[1] La version de vala peut être différente, esayez find /usr/share/ -maxdepth 1 -type d -name 'vala-*' -print