Module Visionneuse de documents 4.2
Description
Le module Visionneuse de documents permet d'afficher les documents bureautiques dans le navigateur web sans nécessiter l'usage d'un logiciel dédié.
Pour afficher les documents MS Word, Excel et PowerPoint, il faut que ceux-ci aient été au préalable convertis en PDF via le module de conversion PDF.
Le module déclenche ensuite une conversion du PDF en SVG. Pour cela, assurez-vous de la disponibilité d'un programme tel que pdf2svg fourni par la bibliothèque cairo, capable de faire cette conversion sur votre plateforme.
Pour IE8, ne supportant pas le SVG, un convertisseur pdftocairo fourni par la même bibliothèque existe pour convertir le document en PNG ; vous pouvez aussi laisser la visionneuse flash pour ce support..
La visionneuse s'adapte au navigateur pour présenter le bon document (si ces derniers existent sur le serveur)
Note: cette version est une réécriture complète de l'ancien module mais propose toujours l'ancienne visionneuse SWF pour compatibilité avec les anciens documents. Cette visionneuse SWF n'est par contre plus maintenue.
Captures d'écran
Installation
Linux :
Les exécutables linux sont fournis avec les distributions, recherchez le package contenant "pdftocairo", généralement "poppler-utils", et le package contenant "pdf2svg", généralement nommé "pdf2svg".
Pour RedHat 7, vérifiez les entrepot de CentOS 7 ou de Fedora (ou
Windows :
Poppler pour Windows est disponible ici : http://blog.alivate.com.au/poppler-windows/
Il permet la conversion en PNG directement, et SVG via le script suivant : Script pdf2svg2.bat .
(L'ancienne solution pour la conversion SVG avec "pdf2svg.exe" n'est pas stable.)
Jalios ne fournit aucun support concernant le fonctionnement de ces produits tiers ou du script batch. Pour une solution avec support, nous vous conseillons de vous tourner vers le produit commercial PDFTron.
Changements
FAQ
Le module dépend du module PDFConverter. Vérifier que ce module est correctement installé et démarré.
Il y a plusieurs soucis avec l’exécution de processus externes, spécialement sous Linux. Consultez le manuel d'installation, analysez les logs et tentez d'isoler le problème. S'il se produit pour un document précis, il se peut que le fichier soit incorrect ou mal supporté par l'application externe, pour pouvez l'exclure manuellement de l'analyse via l'interface de gestion.
Si la visionneuse n'affiche pas un document, cela peut être dû à plusieurs raisons :
- Regardez la configuration du module pour vérifier dans quel format les fichiers sont convertis (swf, png, svg)
- Assurez vous que le fichier a été correctement converti
- Vérifiez que le fichier PDF est bien présent, sans lui le fichier de visualisation ne peut pas être généré. Voir le module de conversion pdf dans ce cas (fichiers non gérés, erreur de conversion, ou simplement conversion en cours)
- D'autres modules fournissent aussi une visionneuse et peuvent masquer la visionneuse fournie par ce module
Cas de la visionneuse Flash (swf) :
- vérifiez que Flash est correctement installé sur le poste client (disponible dans son navigateur)
- Si le fichier SWF n'a pas été généré : Vérifiez que PDF2SWF est au minimum à la version 0.9.0 et que le fichier SWF est généré avec l'option -T 9 (pour Flash 9)
Cas des fichiers PDF déposés par l'utilisateur :
- Un fichier PDF Encrypté, même si la lecture/impression sont autorisées, ne peut pas être converti. La visionneuse ne peut donc pas s'afficher.
Sous Windows, utilisez les propriétés suivantes afin de contourner une limitation sur la longueur des chemins de fichier :
jcmsplugin.documentviewer.process.path: "C:/Windows/System32/cmd.exe" /c echo . |"C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" -ExecutionPolicy Bypass -File "c:/path/to/pdf2swf.ps1" "{1}" "{0}" jcmsplugin.documentviewer.process.path.degradedMode: "C:/Windows/System32/cmd.exe" /c echo . |"C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe" -ExecutionPolicy Bypass -File "c:/path/to/pdf2swf-degraded.ps1" "{1}" "{0}"
- Remplacez le chemin
c:/path/to
par le chemin complet d'accès au dossier/plugins/DocumentViewerPlugin/swf
. - Vérifiez et adaptez le chemin vers l'executable
pdf2swf.exe
dans les scriptspdf2swf.ps1
etpdf2swf-degraded.ps1
Cette configuration nécessite les outils PowerShell.
Les scripts sont disponibles dans les versions ≥3.x du plugin. Vous pouvez toutefois l'utiliser pour les versions antérieures en l'exportant de cette version. Ne pas oublier le fichier Microsoft.Experimental.IO.dll
nécessaire aux fichiers powershell.
Pour plus d'informations sur ce script et sa réutilisation pour d'autres commandes : https://github.com/jalios/WindowsWrapper
L'intégration de PDFTron peut se faire (à partir de la version 4.1) via la commande :
/bin/pdftron/pdf2svg/pdf2svg -i -f --svgz --noxmldoc --nothumbs --digits 3 -o {outputDirectory} --prefix {outputNamePrefix} "{inputFile}"
Afin de protéger le serveur d'executions infinies dans les applications externes, un timeout est positionné pour stopper l'execution.
- timeout calculé par rapport à la taille du fichier à traiter : 1 minute par Mo
- timeout minimum : 1 min
- timeout maximum : 10 min
Exemple :
- fichier de éko ou jusqu'à 1Mo : 1 min
- fichier de 3Mo : 3 min
- fichier de 6Mo : 6 min
- fichier de 10,5Mo ou + : 10min
Lorsque le timeout survient, vous retrouvez dans les logs :
Killing process ! Processing ... fails with exit value : 143 command was : ...