SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

65 visiteurs en ce moment

fontsizeup fontsizedown
[10 commentaires]

Le plugin FreepapeR v0.6.0

Visualiser les fichiers PDF dans les pages WEB

lundi 18 août 2008, par franckGre

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

Le plugin SPIP FreepapeR permet la visualisation dans le CMS SPIP de fichiers PDF. Il est utilisable très simplement par le biais d’une balise ou d’un modèle.

I- Implantation du plugin FreepapeR


- Se référer à la documentation du plugin version 0.5.0
PDF - 284.8 ko
Utilisation du plugin FreepapeR version 0.5.0

Si le plugin version 0.5.0 est déjà installé, alors supprimer tout d’abord entièrement le répertoire plugins/freepaper avant d’installer la nouvelle version

II- Nouveautés


- La fonction Zoom a été améliorée : le zoom est maintenant effectué par rapport au point situé au centre de la visionneuse
- Ajout de la fonctionnalité de visualisation « pleine page » (la visionneuse occupe tout l ’espace disponible dans le navigateur)

III- pdf2swf pour les serveurs 1&1

Ce binaire fonctionne pour les hébergements du fournisseur d’accès 1&1 :
PNG - 2.6 ko
pdf2swf pour les serveurs 1&1

 

Mise à jour de l’archive freepaper-spip.0.6.0.zip le 27 août 2008

 

 

Creative Commons License Le plugin SPIP FreepapeR est mis à disposition selon les termes de la licence Creative Commons Paternité-Partage des Conditions Initiales à l’Identique 2.0 France.

Voir en ligne : Le dedans du bocal

Retour en haut de la page

10 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    27 novembre 21:01 , par franckGre

    Bonjour,

    Tout dépend du serveur sur lequel est installé le site SPIP :

    - Si le serveur fonctionne sous Linux, il faut installer le binaire pdf2swf compilé pour cette distribution Linux, et régler la variable $this->pdftoolsPath=’../’ ;

    - Si le serveur fonctionne sous Windows, il faut installer le programme pdf2swf.exe, et régler la variable $this->pdftoolsPath=’..\\’ ;

    Attention, dans le cas d’un site SPIP sous Linux, bien penser à s’accorder les droits de lecture et d’exécution sur le fichier pdf2swf (par exemple régler les droits à 777).

  • Répondre à ce message

    27 novembre 20:51 , par franckGre

    Bonjour,

    Il y a un moyen d’appeler une fonction sur le poste client à la fin du traitement ajax. En effet, si xhr est l’objet xmlHttpRequest (canal de communication entre serveur et poste client), alors le serveur communique avec le client en appelant la méthode suivante, située sur le poste client :

    "xhr.onreadystatechange =function()...."

    lorsque le traitement sur le serveur est terminé. L’intérêt d’ajax est principalement là.

    Il suffit alors de placer l’appel à la fonction dans cette méthode.

  • Répondre à ce message

    26 novembre 12:04 , par jcf

    Rebonjour,

    en fait c’est la partie :

    [Ouvrir le fichier php/pdf2swf.php et vérifier le contenu de la variable pdftoolsPath pour qu’elle indique le chemin vers l’exécutable pdf2swf, par exemple :]

    que je n’arrive pas à saisir.

  • Répondre à ce message

    26 novembre 11:48 , par jcf

    Bonjour,

    cela fait un moment que je cherche à afficher un pdf sur un site spip. Donc tout d’abord merci pour cette contrib. Par contre je pense avoir fait la manip correctement : Import pluggin Appel du script dans article Insertion swf2pdf.exe à la racine du pluggin freepaper

    Mais cela ne fonctionne pas. Est ce que je pourrai avoir plus d’info notamment sur l’insertion du pdf dans l’article. Est ce qu’il suffit de télécharger le pdf ? Est ce qu’il est nécessaire de l’insérer dans l’éditeur de texte ? Voila de mon coté je vais faire d’autres tests. MERCI

  • Répondre à ce message

    26 novembre 09:54 , par fanch31

    Bonjour.
    Suite a mon message d’hier (pas d’affichage via ajax), le problème est plus complexe : ajax ne renvoie qu’une page au format "texte" du serveur et ne peut pas lancer un javascript automatiquement puisque ce dernier ne peut s’exécuter que sur le poste client (pas sûr d’être très clair, là !) .
    Bref, pour pouvoir afficher le pdf transformé, il faut déporter le script d’affichage dans une fonction javascript (avec les arguments url, rang, width, height et trace) dans cette même page (ou dans un fichier js, ce que j’ai fait !) qui sera lancée en cliquant sur l’#URL_DOCUMENT (modifié par un onClick) dans une simple boucle DOCUMENTS
    Cela me permet par exemple, en ajoutant un mot-clé sur le document de n’afficher en swf que certains documents que l’on ne veut pas proposer au téléchargement.
    En tout cas, félicitations et merci pour ce plugin, il est très bien fait et me sera très utile !

  • Répondre à ce message

    26 novembre 01:38 , par franckGre

    A priori, je dirais qu’il faut certainement exécuter le script :

    "freepaper.embedDoc(flashvars,params,attributes) ;"

    (voir dans le modèle freepaper.html ou dans la balise contentfreepaper.html)

    En effet, l’ appel à ce script est placé dans la fonction $(function()) ....... qui s’exécute lorsque les éléments de la page sont chargés, mais pas à la suite d’une mise à jour de la page via ajax.

    Un bon moyen de voir le code javascript généré pour la page par le modèle ou la balise est d’utiliser firefox avec le module "Firebug", puis d’explorer le code dans le panneau firebug. Une modification mineur du modèle (balise) devrait permettre d’exécuter le script à nouveau, et en particulier à la fin de la mise à jour AJAX.

    Si cela n’est pas suffisant, serait-il possible d’avoir un peu plus d’infos sur le contexte ?

  • Répondre à ce message

    25 novembre 16:23 , par fanch31

    Bonjour.
    Ce plugin fonctionne correctement lors d’un affichage standard d’un site sous SPIP (via article.html), mais lorsque cet article est affiché dans une div (sur une autre page de ce même site) via un script ajax (jQuery) , seul le logo "GetFlashPlayer" est visible. Et poutant, le code source inclut bien le script nécessaire a son remplacement par le document pdf transformé !

    (Nb : Je ne peux pas insérer de lien décrivant ce problème , car je travaille sur un intranet , désolé...)

  • Répondre à ce message

    15 novembre 09:51

    Monsieur

    Je vous remercie de vos explications qui répondent exactement à ma question. Vous levez le doute que j’avais.

    Cordialement

  • Répondre à ce message

    15 novembre 07:28 , par franckGre

    Bonjour,

    Si l’on souhaite utiliser le plugin dans les pages articles (donc avec le squelette "article.html", ce qui est certainement le cas), il faut intégrer la ligne indiquée dans la partie head de ce squelette (cela permet de charger pour le squelette le fichier javascript "swfobject.js"). Si on prend l’exemple du squelette "article.html" de la distribution, cela signifie entre les lignes 5 et 9. On doit donc obtenir pour ce squelette :

    #CACHE86400
    <BOUCLE_article_principal(ARTICLES) id_article>
    < !DOCTYPE html PUBLIC ’-//W3C//DTD XHTML 1.0 Strict//EN’ ’http://www.w3.org/TR/xhtml1/DTD/xht...’>
    <html dir="#LANG_DIR" lang="#LANG">
    <head>
    <title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
    [<meta name="description" content="(#INTRODUCTION|couper150|textebrut)" />]
    <INCLUREfond=inc-head>

    <script type="text/javascript" src="#CHEMINjavascript/swfobject.js"></script>

    </head>


    On considère dans ce cas que le fichier swfobject.js est situé dans un sous répertoire "javascript" situé au même niveau que le fichier article.html (donc sous /dist/javascript/ si on prend un squelette de la distribution, sous /squelettes/javascript/ si on prend un squelette situé sous /squelettes/).


    J’espère que mes explications sont satisfaisantes ?

  • Répondre à ce message

    14 novembre 22:45

    Monsieur

    Dans la notice de l’installation du plugin V5,page 3 sur 7, il est écrit : ""En conséquence, il conviendra d’intégrer ce fichier dans la partie « head » des pages qui doivent utiliser le plugin"". Je ne comprends pas des pages, lesquelles ? D’autant plus que chaque article de spip est généré dynamiquement par une page modele en php. Pourriez-vous détailler cette procédure ? Cordialement

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0