transformation de document Office en PDF [Résolu]

cancel
Showing results for 
Search instead for 
Did you mean: 
huberd
Member II

transformation de document Office en PDF [Résolu]

Bonjour,

je cherche la fonction java me permettant de convertir des documents office via open office en PDF comme le permet l'assistant de création d'action.

Merci pour votre aide.
12 Replies
rguinot
Customer

Re: transformation de document Office en PDF [Résolu]

Qu'entendez vous par
la fonction java

Cette page peut vous être utile :
http://wiki.alfresco.com/wiki/Content_Transformations
rivarola
Active Member

Re: transformation de document Office en PDF [Résolu]

Bonjour,

La classe qui effectue les transformations (Open)Office -> PDF est OpenOfficeContentTransformer. La méthode utilisée est transform, comme tous les transformers. En général on ne l'instancie pas directement mais on en demande une instance au ContentService via sa méthode getTransformer :
    public ContentTransformer getTransformer(String sourceMimetype, String targetMimetype);
Pour avoir un exemple d'utilisation tu peux t'inspirer du test unitaire de cette classe : OpenOfficeContentTransformerTest.
huberd
Member II

Re: transformation de document Office en PDF [Résolu]

Bonjour,

La classe qui effectue les transformations (Open)Office -> PDF est OpenOfficeContentTransformer. La méthode utilisée est transform, comme tous les transformers. En général on ne l'instancie pas directement mais on en demande une instance au ContentService via sa méthode getTransformer :
    public ContentTransformer getTransformer(String sourceMimetype, String targetMimetype);
Pour avoir un exemple d'utilisation tu peux t'inspirer du test unitaire de cette classe : OpenOfficeContentTransformerTest.

Ok Merci pour l'info.

Peux-tu me dire si il existe également une fonction capable de surimprimer un texte dans un document PDF existant. Ma problèmatique est la suivante : permettre de rajouter une référence qualité à un document validé et convertit en PDF.

Merci pour ton aide.
huberd
Member II

Re: transformation de document Office en PDF [Résolu]

Bon j'ai trouver comment faire pour convertir un document en PDF avec openoffice.

this.transformer = new OpenOfficeContentTransformer();
this.transformer.setMimetypeService(mimetypeService);
this.transformer.setConnection(openOfficeConnection);
this.transformer.setDocumentFormatsConfiguration("classpath:alfresco/mimetype/openoffice-document-formats.xml");
this.transformer.register();
             
ContentReader reader = this.contentService.getReader(sessionNodeRef, ContentModel.PROP_CONTENT);   
String contentMimeType = this.contentService.getWriter(sessionNodeRef, ContentModel.PROP_CONTENT, true).getMimetype().toString();
reader.setMimetype(contentMimeType);

File pdfTargetFile = TempFileProvider.createTempFile("TEST PDF" + "-target-", ".pdf");
ContentWriter writer = new FileContentWriter(pdfTargetFile);
writer.setMimetype(MimetypeMap.MIMETYPE_PDF);
          
transformer.transform(reader, writer);

Ce code me permet de convertir mes documents offices en PDF. Ces documents PDF sont créés dans le repertoire temps de mon système grâce (ou à cause) du code suivant.

File pdfTargetFile = TempFileProvider.createTempFile("TEST PDF" + "-target-", ".pdf");

Je souhaiterais pouvoir créer un nouveau node qui hérite des propriété du node convertit (propriété du document) sans le document afin de pouvoir y placer le document en PDF et qui me permettrait d'utiliser le code suivant :

ContentReader reader = this.contentService.getReader(cloneNode, ContentModel.PROP_CONTENT);    

Si quelqu'un a une idée.

Je vous remercie d'avance.
rivarola
Active Member

Re: transformation de document Office en PDF [Résolu]

Il me semble que c'est exactement ce que fait la classe TransformActionExecuter…
huberd
Member II

Re: transformation de document Office en PDF [Résolu]

Il me semble que c'est exactement ce que fait la classe TransformActionExecuter…

oui, c'est exactement cela, sauf que la classe TransformActionExecuter disponible sur le svn est beaucoup plus avancée et utilise une classe inconnue dans la version 2.1. La classe en question est la suivante : TransformationOptions

J'ai donc reécrit la classe TransformActionExecuter à ma convenance, je viens à peine de la recompiler et je suis partit pour la tester. Souhaites moi bon courage  :wink:
huberd
Member II

Re: transformation de document Office en PDF [Résolu]

Bon ça à l'air de fonctionner pour le peut que j'en ai testé.

Maintenant je recherche à savoir si il existe également une fonction capable de surimprimer un texte dans un document PDF existant. Ma problèmatique est la suivante : permettre de rajouter une référence qualité à un document validé et convertit en PDF.
rivarola
Active Member

Re: transformation de document Office en PDF [Résolu]

Regarde du côté de la librairie PDFBox qui est déjà utilisée par Alfresco : http://www.pdfbox.org/
huberd
Member II

Re: transformation de document Office en PDF [Résolu]

Regarde du côté de la librairie PDFBox qui est déjà utilisée par Alfresco : http://www.pdfbox.org/

Oui, c'est ce que j'ai trouvé, et cela fonctionne plutôt bien à quelques petits détails près que je cherche à résoudre (Chargement de police True Type pour lequel j'ai ouvert un nouveau post).