SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 241 visiteurs en ce moment

Accueil > Affichage multimédia > Images > Traitement d’images > doc2img > doc2img

doc2img

14 octobre 2007 – par cam.lafit, kent1 – 22 commentaires

10 votes

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Ou comment convertir des documents multipages (pdf, tiff, etc.) en une succession d’images.

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 :

Debian Stable (Lenny)

Mettre à jour sa liste de depot /etc/apt/sources.list :

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 http://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.

PDF - 7.1 Mo
Pangramme : jeu de test
Un jeu de test, pour voir le comportement du plugin en production

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.

PNG - 7.2 ko
Configuration par défaut
Le panneau de configuration et ses paramétres par défaut

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élection d'un document

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

exemple d'un squelette
(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.

  1. [(#REM) On liste les documents ayant été convertis]
  2. <B_listed2c>
  3. Liste des documents
  4. <BOUCLE_listed2c(DOC2IMG) >
  5. [(#ID_DOCUMENT|unique|?{' ',''})
  6. <a href=#URL_PAGE{doc2img,id_document=#ID_DOCUMENT}> #ID_DOCUMENT </a>
  7. ]
  8. </BOUCLE_listed2c>
  9.  
  10. [(#REM) On navigue parmi les images d'un document]
  11. <B_d2c>
  12. #ANCRE_PAGINATION
  13. <BOUCLE_d2c(DOC2IMG) {id_document} {pagination 1} >
  14. <img src="#FICHIER" />
  15. </BOUCLE_d2c>
  16. <p>
  17. Ce document poss&eacute;de #GRAND_TOTAL page(s)
  18. </p>
  19. #PAGINATION{page_precedent_suivant}
  20. </B_d2c>
  21. table vide
  22. <//B_d2c>

Télécharger

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 depuis IMG/ 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 : retourne true si le document peut être converti.
  • #ID_DOCUMENT|d2c_is_convert : retourne true 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, ...)

Voir en ligne : http://plugins.spip.net/doc2img

Dernière modification de cette page le 23 février 2013

Retour en haut de la page

Vos commentaires

  • Le 12 janvier à 10:22, par Thierry Kauffmann En réponse à : doc2img

    Bonjour,

    ce plugin est génial !

    Comment peut-on le rendre compatible avec spip 3.1 ?

    Bien à vous,

    Répondre à ce message

  • Le 19 juin 2013 à 16:23, par Julien En réponse à : doc2img

    Pouvons nous choisir plusieurs format de sortie ?

    Merci.

    Julien.

    Répondre à ce message

  • Le 6 mai 2009 à 15:42, par anic_fr En réponse à : imagick_getwith et imagick_zoom KO

    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

    • Le 6 mai 2009 à 21:35, par cam.lafit En réponse à : imagick_getwith et imagick_zoom KO

      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.

    • Le 19 mai 2009 à 10:24, par anic_fr En réponse à : doc2img SPIP v2.0.7 OK

      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.

        //dimensions du document d'origine
        // $dimensions['largeur'] = imagick_getwidth($handle);
        // $dimensions['hauteur'] = imagick_getheight($handle);    

      Par :

      $dimensions['largeur'] = $ratio['largeur'];
      $dimensions['hauteur'] =  $ratio['hauteur'];

      plus bas dans le même fichier :

        //defini les nouvelles dimensions
      //   $dimensions['largeur'] = $ratio['largeur']  *i magick_getwidth($handle);
       //  $dimensions['hauteur'] = $ratio['hauteur'] * imagick_getheight($handle);

      Par :

      $dimensions['largeur'] = $ratio['largeur'] *  $ratio['largeur'];
      $dimensions['hauteur'] = $ratio['hauteur'] *  $ratio['hauteur'];

      Ensuite j’ai décomenté imagick_zoom (ko) ; pas utilisé de mon côté.

         //on redimensionne l'image
          //   imagick_zoom($handle_frame, $dimensions['largeur'], $dimensions['hauteur']);    

      /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.

    • Le 20 mai 2009 à 08:32, par anic_fr En réponse à : doc2img SPIP v2.0.7 OK

      j’oubliais,

      j’ai décomenté également dans inc/doc2img_convertir.php
      la variable taille.

              //   $taille = $image_frame->getImageLenght();
    • Le 20 mai 2009 à 09:18, par cam.lafit En réponse à : doc2img SPIP v2.0.7 OK

      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 :)

    • Le 20 mai 2009 à 09:29, par anic_fr En réponse à : doc2img SPIP v2.0.7 OK

      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

  • Le 27 juin 2008 à 11:04, par cedric couvrat En réponse à : doc2img

    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

    • Le 27 juin 2008 à 11:18, par cam.lafit En réponse à : doc2img

      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 :

      • soit etre un peu patient le temps que tout revienne en place.
      • soit passer par svn obtenir la derniere version

      Les retours utilisateurs sont grandement demandés et appréciés.

    Répondre à ce message

  • Le 28 décembre 2007 à 22:42, par livier En réponse à : Ou apparait il ce plugin ?

    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.

    • Le 28 décembre 2007 à 23:06, par cam.lafit En réponse à : Ou apparait il ce plugin ?

      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

  • Le 23 novembre 2007 à 23:31, par Patriator En réponse à : doc2img et doc2article ?

    Bonjour, ne trouvant de place appropriée dans les forums et trouvant ma recherche assez proche de ce plugin, je vous expose mon cas :
    -  des rédacteurs ayant déjà, pour la plupart tapé les articles dans des documents de type bureautique...

    J’aurais aimé quelque chose de plus souple qu’une transformation en image.
    pensais à quelque chose type : dl le fichier, transformation en html, recup du contenu pour le faire passer dans le corps de l’article (pourquoi pas gestion des images) et optionnellement transformation en pdf pour joindre le fichier à l’article.

    Cela vous parrait-il saugrenu ? ai-je loupé un plugin qui ferait cela ? ce présent plugin peut il convenir ?

    Dans le cas ou je développerais ce plugin, quelle forme lui donner pour qu’il intéresse le maximum de gens ?

    Merci de votre attention.

    • Le 24 novembre 2007 à 15:27, par cam.lafit En réponse à : doc2img et doc2article ?

      Bonjour

      Pour le moment ce plugin ne reponds pas à ce besoin et n’y repondra surement pas. Enfin il ne faut jamais dire jamais.

      Je vous invite à consulter cette contribution Migre static - plugin de migration d’un site qui peut deja repondre à la problématique html vers spip.
      Coté bureautique vers html, il existe surement des outils je pense entre autre à ooconverter (je ne sais pas si cela existe encore).

      La question reste ouverte, c’est peut etre le debut d’un nouveau chantier :)

    • Le 29 novembre 2007 à 17:02, par Patriator En réponse à : doc2img et doc2article ?

      Bon me suis pondu mon petit plugin...
      dl fichier -> jodconverter serverside -> manip des chaines -> corps de l’article
      any tips sur une manière propre de conserver la mise en page sans faire apparaitre les balises HTML dans le corps de l’article (la solution de migre static est un peu light) ?
      any tips sur le lieu ou echanger autour de ce futur new plugin ?

    • Le 30 novembre 2007 à 11:01, par cam.lafit En réponse à : doc2img et doc2article ?

      Bonjour

      Si vous avais fait un plugin, dans ce cas il est mieux d’initier un nouvel article dédié :
      -  ce à quoi ça sert
      -  qui explique comment ça fonctionne
      -  poser le tout sur SVN

      S’il y a des question sur comment faire tout ça, il est je pense plus pertinent de s’abonner à la liste de spip - zone.

    Répondre à ce message

  • Le 22 octobre 2007 à 14:44, par cedricici En réponse à : doc2img => CFG nécéssaire

    Bonjour, il serait peut-être interessant de préciser sur cette page que CFG est nécéssaire pour ce plugin ;-) (car le mot clé « avec CFG » je l’avais un peu zappé).

    Très bien sinon...

    • Le 22 octobre 2007 à 14:59, par cam.lafit En réponse à : doc2img => CFG nécéssaire

      Bonjour

      En effet peut etre bon à rajouter.
      Avec le en version 193, on oublie que ce controle ne se fait pas tout seul dans les versions précedentes de SPIP.

    Répondre à ce message

  • Le 15 octobre 2007 à 15:20, par ivandps En réponse à : easyphp

    Bonjour

    comment installer
    php-imagick
    ghost script
    dans easyphp ?

    merci

    • Le 15 octobre 2007 à 16:45, par cam.lafit En réponse à : easyphp

      Bonjour

      Il vous faut trouver : php-imagick et ghostscript.

      De ce que j’ai pu lire sur internet, cela marche sans probléme aussi sous windows. Si vous avez une doc plus compléte, n’hesitez pas à la communiquer ici.

    • Le 20 octobre 2007 à 19:08, par jpa25 En réponse à : easyphp

      où et comment installer imagik et ghostscript ?

      ce plugin est tres interessant
      merci

    • Le 20 octobre 2007 à 20:02, par cam.lafit En réponse à : easyphp

      ce plugin est tres interessant merci

      Merci n’hesitez pas à remonter toutes remarques :
      -  d’ergonomie
      -  de fonctionnalités
      -  de bogues
      -  ...

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Adaptive Images

    15 novembre 2013 – 69 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Social tags

    8 septembre 2008 – 428 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Module de Paiement Stripe

    17 octobre – commentaires

    Stripe est un prestataire de paiement externe https://stripe.com/fr qui propose une API moderne et une interface de paiement extrêmement conviviale et efficace. Ce module permet les paiements à l’acte et les paiement récurrents. Configuration (...)

  • Métas

    8 août 2009 – 50 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

Ça spipe par là