gawel

[JAVA] ActionService - transformation PDF

Discussion created by gawel on Sep 18, 2017
Latest reply on Sep 18, 2017 by gawel

Bonjour,

Je souhaite transformer un document en PDF, mais la class de service ActionService semble ignorer le paramètre de destination (newPdfFile est null). Ci-dessous le code:

 

Action transform = actionService.createAction(TransformActionExecuter.NAME);
transform.setParameterValue(TransformActionExecuter.PARAM_MIME_TYPE, MimetypeMap.MIMETYPE_PDF);
transform.setParameterValue(TransformActionExecuter.PARAM_DESTINATION_FOLDER, destination);
transform.setParameterValue(TransformActionExecuter.PARAM_OVERWRITE_COPY, false);
transform.setExecuteAsynchronously(false);
actionService.executeAction(transform, sourceFile);

NodeRef newPdfFile = getFinalFile(sourceFile, destination);

 

private NodeRef getFinalFile(NodeRef sourceNodeRef, NodeRef destinationNodeRef) {

        NodeRef pdfFile = null;

        String sourceName = (String) nodeService.getProperty(sourceNodeRef, ContentModel.PROP_NAME);
        String nameWithoutExt = org.apache.commons.io.FilenameUtils.removeExtension(sourceName);
        String nameWithPdfExt = nameWithoutExt.concat(".pdf");

 

        for (ChildAssociationRef childRef : nodeService.getChildAssocs(destinationNodeRef)) {
            NodeRef childNodeRef = childRef.getChildRef();
            String name = (String) nodeService.getProperty(childNodeRef, ContentModel.PROP_NAME);

 

            if (nameWithPdfExt.equals(name)) {
                pdfFile = childNodeRef;
            }
        }
        return pdfFile;
}

 

Malgré une fouille approfondie du ContentStore le PDF est introuvable (pas dans le dossier de destination, pas de résultat avec une recherche SOLR etc.).

 

En revanche, le PDF est bien transformer (présent dans <alf_home>/tomcat/temp/)

 

Petite particularité : mon code java ci-dessous est appelé par une TASK ACTIVITI

 

(urgent, quelqu'un à une idée?)

Outcomes