You are not logged in.
Bonjour,
est-ce que quelqu'un sait comment générer puis afficher une image générée à partir de la 1re page d'une ressource pdf ?
Pour résumé, sur un type de contenu particulier j'ai un champ qui permet de mettre une plaquette en téléchargement.
Actuellement à l'affichage c'est juste un lien.
Comment générer une image de la première page du pdf, et afficher cette dernière (pour qu'elle devienne un lien cliquable afin de télécharger).
Offline
Bonjour, si vous disposez du plugin Flipbook, vous pouvez tenter ceci (exemple dans une metadonnée nommée "document-pdf")
<img src="{resolver:resolveImage(concat(metadata/document-pdf/@type, '-flipbook'), metadata/document-pdf/@path, $height, $width)}"/>
ou ceci pour maximiser la taille de l'image mais conserver son ration
<img src="{resolver:resolveBoundedImage(concat(metadata/document-pdf/@type, '-flipbook'), metadata/document-pdf/@path, $maxHeight, $maxWidth)}"/>
il se peut qu'au premier affichage vous obteniez une image par défaut, et qu'il faille rafraichir pour obtenir la vraie une fois qu'elle est prête.
Raphael Franchet
Expert Ametys
Offline
Offline
oui elle est de type file.
avez-vous une erreur dans vos logs ?
Raphael Franchet
Expert Ametys
Offline
Petite précision avant d'aller plus loin, cette modification concerne les contenus de type program de l'ODF. Je sais qu'il y a parfois des barrières entre CMS et ODF...
Sinon je n'ai aucune nouvelle erreur.
Les seules sont celles-ci mais elles ne me paraissent pas bloquante
2015-06-02 16:47:54,415 ERROR [sitemap.handled-errors] (http-8080-8;/preview/skins/UBM/resources/css/content.css) Resource not found for URI : file:/export/cms/Ametys_CMS/application/v3_1_4/cms/skins/UBM/resources/css/content.css
2015-06-02 16:47:54,419 ERROR [sitemap.handled-errors] (http-8080-23;/preview/skins/UBM/resources/css/news.css) Resource not found for URI : file:/export/cms/Ametys_CMS/application/v3_1_4/cms/skins/UBM/resources/css/news.css
Last edited by jbabadie (03/06/2015 10:30:00)
Offline
Concernant pdfbox, son défaut principal sont des images de moindre qualité : pour des miniatures pas de problème.
Ponctuellement il peut y avoir des problèmes avec certains fichiers PDF, c'est pour cela que je voulais voir les logs : dans le doute, pouvez-vous tester avec un autre fichier PDF simple ?
Pouvez-vous faire un <xsl:value-of>
- de concat(metadata/document-pdf/@type, '-flipbook')
- et de metadata/document-pdf/@path ? et me donner les valeurs.
Pouvez-vous me mettre le code complet que vous utilisez pour créer le lien et l'image ?
Dernière question, le répertoire de cache "WEB-INF/data/flipbook" a-t-il bien été créé ? si oui que contient-il ?
Raphael Franchet
Expert Ametys
Offline
"concat(metadata/comattachment/@type, '-flipbook')" donne "explorer-flipbook"
"metadata/comattachment/@path" donne "resource://c70c5f4a-320e-4fdc-b4c8-479fc09b47ee"
<div>
<a href="{resolver:resolve(metadata/comattachment/@type, metadata/comattachment/@path, 'true')}" title="{metadata/comattachment/@filename} ({metadata/comattachment/@size})">
<img class="img-responsive" src="{resolver:resolveBoundedImage(concat(metadata/comattachment/@type, '-flipbook'), metadata/comattachment/@path, 0, 449)}" />
<p><xsl:value-of select="metadata/comattachment/@filename"/></p>
<p><xsl:value-of select="concat(metadata/comattachment/@type, '-flipbook')"/></p>
<p><xsl:value-of select="metadata/comattachment/@path"/></p>
</a>
</div>
WEB-INF/data/flipbook a bien été créé (hier à 13h31)
Il contient une réplique de l'arborescence menant à un pdf stocké dans l'explorateur de ressources (fichier partagé) + un répertoire portant le nom du fichier dans lequel se trouve :
- un fichier "document.md5"
- 1 répertoire document contenant le pdf.
- 1 répertoire "pages" avec 2 images correspondant bien aux pages du fichier :
-page1.png et
-page2.png
Offline
Dans le cas d'un fichier non partagé
"metadata/comattachment/@path" donne "comattachment" (le nom de la metadonnée)
et l'image affichée (le livre bleu) est stocké _plugins/flipbook/www/contents/program-lad-31/metadatas/comattachment/RDA_CFVU_30-04-2015.pdf/pages/thumbnail_max449x0.png
Last edited by jbabadie (03/06/2015 11:26:37)
Offline
Ben tout ça m'a l'air très bien. Dans le cache, page1.png est bien la première page de votre pdf ?
Raphael Franchet
Expert Ametys
Offline
à moins qu'il n'y ait un problème d'encoding de caractère dans votre path de l'explorateur de ressources ? contient-il uniquement des noms plutot court avec des caractères simples ? (pour le test)
Raphael Franchet
Expert Ametys
Offline
Ben tout ça m'a l'air très bien. Dans le cache, page1.png est bien la première page de votre pdf ?
> oui tout a fait
à moins qu'il n'y ait un problème d'encoding de caractère dans votre path de l'explorateur de ressources ? contient-il uniquement des noms plutot court avec des caractères simples ? (pour le test)
Pour le test en cours sur l'explorateur de ressources le fichier simple est le suivant : /_resources/ODF/exemplepdf.pdf
Last edited by jbabadie (03/06/2015 11:30:36)
Offline
Ca ressemble plus à des erreurs de cache ou des absences de génération qu'autre chose. Il doit y avoir un problème sous-jacent. Je vais enqueter sur le serveur de dev
Last edited by jbabadie (03/06/2015 11:39:35)
Offline
Si le fichier est bien généré, c'est que l'appel XSL est correct en effet.
Ensuite, le CMS n'arrive pas à trouver le fichier généré ça peut provenir de deux choses:
* un bug Ametys
* un problème avec le système de fichiers
Si après votre inspection le second n'est pas concerné, je vous invite à ouvrir un ticket sur le jira Ametys.
Vous pourriez aussi faire un test sur un PC local en téléchargeant la démo ametys et en ajoutant une metadonnée de type file à un type de contenu, pour tester l'affichage.
Raphael Franchet
Expert Ametys
Offline
Vous pourriez aussi faire un test sur un PC local en téléchargeant la démo ametys et en ajoutant une metadonnée de type file à un type de contenu, pour tester l'affichage.
je vais essayer aussi
Offline
Bonjour,
nous avons investigué le problème.
Actuellement, le plugin flipbook ne lance la préparation du PDF que si vous faites un lien de type flipbook vers le pdf.
Dans votre cas, vous avez un lien de type téléchargement simple.
Donc, dans l'état actuel des choses, il faut faire un lien flipbook pour que l'image flipbook fonctionne ; mais nous sommes en train d'améliorer la chose pour que l'image flipbook fonctionne de manière autonome.
Raphael Franchet
Expert Ametys
Offline
Le problème a été corrigé pour la version 1.5.0 du plugin flipbook ()
Pour faire un lien vers un PDF en affichant une image correspondant à la première du PDF vous pouvez faire :
<a href="{resolver:resolve(metadata/[metadataPath]/@type, metadata/[metadataPath]/@path, 'true')}" title="{metadata/[metadataPath]/@filename} ({metadata/[metadataPath]/@size})">
<img src="{resolver:resolveBoundedImage(concat(metadata/[metadataPath]/@type, '-flipbook'), metadata/[metadataPath]/@path, 200, 200)}" />
</a>
Laurence Aumeunier
Ametys Expert
Offline
Bonjour,
cela fonctionne presque dans l'ODF...
L'url est bonne mais le fichier final est inexistant. il cherche "thumbnail_0x0.png". Comme il n'existe pas je souhaiterais le remplacer par "page1.png" dans l'url générée.
Savez-vous comment effectuer un simple remplacement de texte dans une URL ?
J'ai tenté un replace() mais sans succès.
Je tente un translate() :
<img class="img-responsive" src="{translate(resolver:resolveImage(concat($comattachnode/@type, '-flipbook'), $comattachnode/@path,0,0), 'thumbnail_0x0.png' , 'page1.png')}"/>
Le nom de fichier est bien remplacé mais il me modifie entièrement l'url et met un point à la fin:
src="/preview/www/_plugins/flipbook/www/resources//ODF/plaquette/licence/UFR%2520Langues/licence-allemand-u-bordeaux-montaigne.pdf/pages/thumbnail_0x0.png"
devient
src="/revnew/www/ggn.s/fgn1ook/www/resogrces//ODF/gpqgeppe/epsper/epsper-ecogone-agepn.edf/pes/page1.png."
au lieu de :
src="/preview/www/_plugins/flipbook/www/resources//ODF/plaquette/licence/UFR%2520Langues/licence-allemand-u-bordeaux-montaigne.pdf/pages/page1.png"
Offline
Salut,
- pour la fonction replace, je crois que c'est un problème de version de xpath/xslt en v1 au lieu de v2
- pour la fonction translate, il me semble qu'elle sert a faire un remplacement caractère par caractère.Tous les t deviennent des p , puis tous les a des h, et ainsi de suite , ce qui n'est pas du tout ce que tu veux faire. (et vu qu'il y a moins de caractère à droite, je ne sais pas trop ce que ça fait pour les caractères en trop à gauche..)
-pour remplacer une chaîne de caractère par une autre, il y a l'air d'y avoir plusieurs solutions sur cette page :
Celle qui m'a l'air la plus simple : dans la balise stylesheet mettre :
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:str="xalan://java.lang.String"
<xsl:value-of select="str:replaceAll(
'/preview/www/_plugins/flipbook/www/resources//ODF/plaquette/licence/UFR%2520Langues/licence-allemand-u-bordeaux-montaigne.pdf/pages/thumbnail_0x0.png',
'thumbnail_0x0.png',
'page1.png'
)"/>
Par contre, je ne sais pas si il y a une fonction vaguement équivalente déjà inclus dans AmetysXsltHelper ou pas
Bonne journée
Mathieu
Offline