Nota SPIP-Contrib : un plugin encore en développement, la présente documentation doit servir de support à celui-ci. N’hésitez pas à vous servir de ce forum pour remonter vos essais et avis à l’auteur.
Nota auteur : ce plugin se cherche aussi un petit nom , n’hesitez pas à proposer vos idées dans le forum
Présentation
Ce plugin a pour vocation de transformer les documents multipages (pdf, tiff, gif , ...) en autant d’images.
Par exemple, nous pouvons prendre le cas d’un journal papier, dont une version pdf existe. Il est ainsi possible :
- d’importer ce document dans un article dédié ;
- de lancer la conversion ;
- de proposer une consultation en ligne des différentes pages.
Prérequis
Ce plugin s’appuie sur la bibliothèque ImageMagick (plus de détail). Cet outil est un couteau suisse du traitement d’images.
Pour supporter le pdf, il faut aussi ghost script
Pour plus de détail sur les formats supportés à la lecture, je vous invite à consulter cette page
Il faut noter que le plugin necessite CFG.
Avertissement
Le support de SPIP 1.9.2 s’arrete avec la version 0.5 du plugin.
Les developpements actuels ne sont compatibles qu’avec SPIP 2.0 RC1 (Release Candidate 1) est sortie
Installation
Selon vos besoins et votre serveur, installez ou faites installer les logiciels nécessaire. C’est à dire :
- php-imagick
- ghost script (8.62)
Debian Stable (Lenny)
Mettre à jour sa liste de depot /etc/apt/sources.list
:
deb http://ftp.fr.debian.org/debian/ stable main contrib
deb-src http://ftp.fr.debian.org/debian/ stable main contrib
Installer la derniere version de ghostscript : apt-get install gs-gpl
Il est conseillé d’utiliser les paquets des polices suivantes :apt-get install gsfonts gsfonts-other gsfonts-x11 msttcorefonts
Ressources :
Le plugin
Attention il n’y a pas de contrôle sur la présence ou non de ghost script. Pour le moment c’est à vous de vous assurer de la bonne présence des logiciels.
Telechargez le plugin sur le dépot de la zone
Suivez la procédure normale d’installation https://www.spip.net/fr_article3396.html
Jeu de test
Pour tester la qualité de la conversion de vos documents, le document en pièce jointe est à votre disposition.
Ce pdf utilise un ? et un set d’images utilisées pour les tests d’impression. Vous pouvez demander les sources (format odt) ou demander l’ajout de polices ou autres éléments.
Configuration
Attention L’utilisation de CFG et l’activation d’une configuration par défaut impose de desinstaller complétement toute version précédent la 0.4.
Depuis la version 0.4, une configuration par défaut est proposée.
format des documents
On peut spécifier les documents convertibles, par défaut ce sont les formats tiff et pdf.
Repertoire de stockage
Par défaut l’ensemble des documents est sauvegardé dans le repertoire /IMG/doc2img/
. Ce repertoire est créé automatiquement lors de l’installation.
Vous pouvez spécifier un autre repertoire, toutefois ce sera à vous de vérifier l’existence du dit repertoire. De plus il faut des droits d’écriture dessus au même titre que ceux de /IMG/
Format de sauvegarde
Le format par défaut pour les images générées est le PNG. Vous pouvez préciser un autre format dans la liste déroulante. Cette liste s’appuie sur les formats supportés par SPIP.
Rédimension
Par défaut les images ne sont pas redimensionnées. Elle auront donc la meme taille et resolution que celle du document original.
Vous pouvez indiquer :
- soit une largeur
- soit une hauteur
- soit les 2
Proportion
Si l’option proportion est cochée, le document sera redimensionné selon le plus faible ratio. C’est à dire qui si le rapport largeur réelle / largeur demandée est supérieure à hauteur réelle / hauteur demandée, l’image sera redimensionné selon le rapport defini par le ratio hauteur.
Agrandissement
Dans certains cas le pdf est sauvegardé dans un format d’impression petit (A5 ou autre), le script ne peux pas par lui meme determiner si c’est le format réel du document ou juste le format d’impression.
Pour palier à ce point, il est possible de forcer le script à prendre les tailles définies meme si celles ci sont inférieures à celle detectées par le plugin.
Convertir à la volée
SI cette option est activée, lorsqu’un document est téléchargé depuis l’espace privée celui est directement convertit en succession d’images.
Utilisation
Si l’option « Convertir à la volée » n’est pas activé, il est nécessaire de sélectionner le document à convertir. Ceci se fait depuis la partie privée.
Choissisez un article pour lequel un document de type pdf ou tiff a été importé. Dans la colone de gauche, une liste déroulant est présente.
Sélectionnez le document voulu et cliquez sur le bouton convertir. Patientez un peu, en fonction du document le temps de conversion est plus ou moins long.
Espace public
Un squelette par défaut minimaliste est disponible. Saisissez l’adresse suivante dans la barre de votre navigateur : http://votresite/?fond=doc2img
(c) Calvin et Hobbes
Le squelette
L’idée est d’être au plus proche de la logique SPIP. Ainsi les images générées sont accessibles par un squelette quelconque.
[(#REM) On liste les documents ayant été convertis]
<B_listed2c>
Liste des documents
<BOUCLE_listed2c(DOC2IMG) >
[(#ID_DOCUMENT|unique|?{' ',''})
<a href=#URL_PAGE{doc2img,id_document=#ID_DOCUMENT}> #ID_DOCUMENT </a>
]
</BOUCLE_listed2c>
[(#REM) On navigue parmi les images d'un document]
<B_d2c>
#ANCRE_PAGINATION
<BOUCLE_d2c(DOC2IMG) {id_document} {pagination 1} >
<img src="#FICHIER" />
</BOUCLE_d2c>
<p>
Ce document posséde #GRAND_TOTAL page(s)
</p>
#PAGINATION{page_precedent_suivant}
</B_d2c>
table vide
<//B_d2c>
Comme vous pouvez le constatez le code est simple. C’est un squelette des plus basiques qui utilise la #PAGINATION pour se déplacer dans les images.
Les balises
Nous avons comme balises statiques :
-
#FICHIER
: le chemin depuisIMG/
de chaque page -
#PAGE
: numero de la page, commence à 0 -
#LARGEUR
: largeur de l’image de la page -
#HAUTEUR
: hauteur de l’image de la page -
#TAILLE
: taille en octets
Comme balises calculées nous avons :
-
#URL_DOC2IMG
: URL de la page selon le contexte -
[(#CONFIG{php::doc2img/#ID_DOCUMENT/pages})]
: nombre de pages pour un document -
[(#CONFIG{php::doc2img/#ID_DOCUMENT/statut})]
: statut de conversion, « en cours », « réalisée »
Les filtres
-
#ID_DOCUMENT|d2c_convertir
: converti le document, retourne-
true
si conversion réussie -
deja converti
si le document est déjà converti -
non convertible
si le document ne peut être converti
-
-
#ID_DOCUMENT|d2c_can_convert
: retournetrue
si le document peut être converti. -
#ID_DOCUMENT|d2c_is_convert
: retournetrue
si le document est deja converti.
A faire
- Les traductions
- Support de la configuration (version 0.4)
- lLa génération automatique lors d’un chargement d’un doc
- suppression des images lors de la suppression du document maître
- cacher les documents deja converti dans la liste de selection de convestion
- mettre une barre de progression
- tester avec php5
- support complet de l’api sql_*
- controler automatiquement les prérequis (imagick, gs, ...)
Discussions par date d’activité
13 discussions
Bonjour,
Nous utilisons ce plugin sur des sites en version 4.1.9 avec succès, avec le plugin FACD.
Bonjour,
Est-ce que cela fonctionne toujours pour vous en SPIP 4.2 ?
J’ai installé le plugin en local (+ghostscrpt)
mais le clic sur « Convertir la première page en vignette » ne retourne rien lorsque je veux générer une vignette pour un PDF.
J’ai créé le répertoire IMG/doc2img à la main car par défaut il n’existait pas.
J’ai un doute car le plugin est indiqué « Mis à jour le 5 février 2020
SPIP 4.21.5.1 stable déprécié »
Et c’est vraiment dommage car pour les PDF avoir une vignette distinctive est vraiment un besoin.
Merci
dd
Oui, en modifiant les bornes, cela fonctionne jusqu’à la version 4.2.9.
Répondre à ce message
Bonjour,
En Spip 3.2.1 avec le plugin doc2img 1.5.1 qui s’installe correctement après avoir modifié les bornes, je ne parviens pas à obtenir de conversion.
Ghost Script et Imagick sont installés.
Les filtres évoqués dans la doc
ne semblent pas fonctionner.
Est-ce normal ou est-ce que j’ai oublié quelque chose ?
Répondre à ce message
Proposition pour que ce plugin fonctionne sur un site mutualisé : modifier 3 lignes dans le fichiers inc/doc2imgconvertir.php.
A chaque fois, le principe et simple : il faut ajouter getcwd().’/’ pour transférer les adresses de fichier relatives passant par imagick en adresses absolues.
ligne 115 :
ligne 132 :
ligne 288 :
A priori, cette modification n’empêche pas un fonctionnement normal sur un site non mutualisé.
Bonjour
je ne suis pas convaincu par ce correctif. Normalement SPIP fournit le contexte des chemins de bases.
On ne devrait donc pas à avoir à utiliser getcwd() il faut peut être passer par une des ses variables/define interne mais pas par cette méthode php.
A confirmer toutefois :)
Répondre à ce message
Bonjour,
une version pour spip 3.2 est-elle prévue ?
Merci d’avance,
Cordialement,
Hervé
Il suffirait simplement de tester en changeant la borne de compatibilité et de dire s’il continue à fonctionner.
À priori il ne devrait pas y avoir de problème.
Répondre à ce message
A noter que ce plugin permet également de fabriquer la « vignette » - par exemple d’un pdf - en un clic dans l’admin, voire automatiquement à chaque nouvel ajout d’un document
Répondre à ce message
Bonjour,
ce plugin est génial !
Comment peut-on le rendre compatible avec spip 3.1 ?
Bien à vous,
Répondre à ce message
Pouvons nous choisir plusieurs format de sortie ?
Merci.
Julien.
Répondre à ce message
bonjour,
Un début de présentations....
php v5.2.5-pl1-gentoo
ImageMagick 6.4.8 2009-05-06 Q16
imagick module version 2.2.2
spip V2.0.7
les fonctions génèrent des erreurs bloquantes. :
- imagick_getwith et
- iimagick_zoom
du fichier /inc/doc2img_convertir.php
je lis et relis les doc relatives et tente ceci et cela.
dans l’espoir de lire qq’un deplus ameme que moi.
Merci
Bonjour
En effet la gestion de l’api imagick est particuliérement mal codé. L’api 0.9 et 2.x sont complétement différentes et j’ai codé leur utilisation de façon complétement melangé ce qui ne rend pas leur lecture aisée.
J’essaye de voir ce que je peux faire dans la semaine.
Merci de votre, retour, et de la lumière faite.
Avec les petits changement ci dessous cela fonctionne
en php5 mysql5 et SPIP2.0.7 (version imagick voir mon post plus bas)
Donc dans inc/doc2img_convertir.php
j’ai remplacé les variables de la hauteur et largeur extraite via imagick (ko)
voici les tites modifs : attention le code peut-être mal mis en forme, avec le vrai fichier sous les yeux c’est + clair.
Par :
plus bas dans le même fichier :
Par :
Ensuite j’ai décomenté imagick_zoom (ko) ; pas utilisé de mon côté.
/ecrire/ ?exec=cfg&cfg=doc2img :
Là, ma configuration est:garder les proportion, et générer automatiquement à l’upload.
j’ai mis une taille max.
Et hop çà marche, on sort le doc à la taille d’origine !
Bien, très bien doc2img.
ah oui, pour moi,conversion auto,j’ai enlevé le
pipeline « affiche_gauche » dans plugin.xml et
« surcharge de affiche_gauche » du pipeline.xml
Et le resultat est à la hauteur.
Avec toutes les homotécies !
Ah SPIP quand tu nous le rend si bien...
Et alors...
je m’inspire de spipmotion pour la création automatique de vignettes depuis les img crées de mes doc (eps, pdf, ps)
pour l’instant « ajouter document » m’embette avec le contrôle du header pour ajouter mon fichier : suis en train de mettre à jour ma cerevelle pour piger comment spip check le header.
j’oubliais,
j’ai décomenté également dans inc/doc2img_convertir.php
la variable taille.
Bonjour
En effet comme cela ça simplifie le code, une bonnne partie du code utilisant imagick est desactivé.
En l’état ce n’est malheureusement pas une bonne solution car on perd la capacité de retaillé à la volées les pdf.
Des que possible j’essaye de mettre en place un correctif et surement vais devoir vous solliciter pour tester :)
Bonjour,
dans mon cas la conversion à la taille initiale me suffit,
Vous ferais mes retours ici, et serais là, pour les tests.
dur dur la doc imagick..pas très fournie...pour la dernière version.
Répondre à ce message
Lorsque je lance une conversion j’ai le message suivant :
The requested URL /sites/site-test/ecrire/doc2img_convert was not found on this server.
Une idée pour résoudre ce problème ?
Merci
Bonjour
Si vous venez d’installer la derniere version 0.9 il y a encore des bogues.
Il n’existe pas de paquet .zip de la version dite stable.
Ce bogue a été corrigé hier. Attention les zip sont regénéré qu’une fois par jour maintenant.
Pour le moment il faut :
Les retours utilisateurs sont grandement demandés et appréciés.
Répondre à ce message
Je me sens tout bête là ... J’ai installé et activé le plugin, version 0.4 SPIP 1.9.2b [10268],
mais je ne trouve pas la page de configuration ni la petite lise déroulante dans la colone de gauche sur un article ayant déjà un pdf.
Bonjour
Pour accéder à la partie configuration du plugin, cela se fait :
- depuis l’espace privé
- en cliquant sur l’onglet « configuration »
- ensuite en cliquant sur « CFG »
- enfin « Gestion Doc2img »
Quant à la liste de selection des pdf, cela se fait depuis les pages exec=articles, c’est à dire lors de la sélection d’un article et non en mode rédaction (exec=articles_edit)
Tiens bizarre, j’ai du oublier un commit on devrait être en 0.5 :) Pour le moment c’est bien la Version : 0.4 [16695]
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |