Je voudrais convertir en rhino un document .docx qui se trouve dans un attribut A de type document, en PDF et ensuite le stocker dans un attribut B de type document.
Pourriez-vous svp m’aider en me disant comment procéder et s’il y a déjà des libs/fonctions qui existent déjà pour faire cette conversion ?
La classe Docx4J est celle là : https://javadoc.io/doc/org.docx4j/docx4j/latest/org/docx4j/Docx4J.html
donc il faut commencer par ajouter l’import du package de cette classe donc importPackage(Packages.org.docx4j);, ensuite j’imagine qu’il faut d’autres imports. Comme ce n’est pas une lib Simplicité mais une lib tierce referez vous à la doc de cette lib tierce pour savoir quoi importer.
En Rhino, comme en Java, il faut importer explicitement les classes dont on a besoin.
Le com.simplicite.util.tools.DocxTool permet de manipuler le contenu d’un DOCX (sans connaitre ou importer Docx4J ou l’open XML), mais pas de générer un PDF. Si ça marchait bien, on aurait intégré cette méthode aux tools.
Mais d’expérience Docx4J.toPDF ne convertit pas très bien un DOCX en PDF, certaines mises en page ne sont pas bien exportées, alignement, espaces… c’est très basique et donc ne ressemble jamais au doc d’origine.
Sur un ancien projet cette fonctionnalité avait été abandonnée au profit d’une impression en PDF depuis un outil bureautique tel que MS Word ou Open Office qui fait ça nativement en supportant toute la norme Open XML (en tache de fond via un appel systeme ou par l’utilisateur directement dans Word avant d’importer le PDF dans son formulaire).
Mais bon avec la version plus récente de DOCX4J peut être que ça s’est amélioré. Essayez et dites nous si ça vaut le coup de faire évoluer les tools simplicité.