2013-03-04 1 views
0

J'ai une application Web Java qui génère un document MS Word au format WordML (un seul fichier XML au format XML Word 2003 avec une extension de fichier .xml). Je voudrais convertir automatiquement dans le format Office Open XML plus récent afin que le document puisse être enregistré en tant que fichier .docx (qui est essentiellement un fichier zip contenant plusieurs fichiers XML).Comment convertir WordML en Office Open XML dans une application Web Java?

Ceci doit être entièrement automatisé, et ne peut pas exiger que l'utilisateur télécharge le fichier et le convertisse manuellement. De plus, l'utilisateur ne peut pas supposer que MS Word est installé (ils pourraient utiliser LibreOffice à la place).

Je cherchais une bibliothèque Java que je pourrais utiliser pour faire cela, mais je n'en ai trouvé aucune qui convertit .xml en .docx. Le seul convertisseur que j'ai pu trouver était JODconverter mais il ne supporte pas la conversion de .xml à .docx.

Y a-t-il une bibliothèque Java qui pourrait faire ce genre de conversion? Ou peut-être devrais-je chercher une solution non-Java? Peut-être qu'un module Python pourrait faire cela? (Par exemple un script Python pourrait prendre les fichiers générés par l'application Java et les convertir font .docx.)

+1

Lorsque vous parlez d'un fichier XML unique, voulez-vous dire le format XML Flat OPC ou le format XML Word 2003? – JasonPlutext

+0

@JasonPlutext Word 2003 format XML. Juste édité la question pour le rendre plus clair. –

Répondre

1

Si vous ne pouvez pas modifier votre application pour émettre XML plat OPC, vous pouvez écrire un XSLT pour convertir à partir de Word 2003 Format XML à Flat OPC XML. Ils sont assez similaires.

Ensuite, docx4j (divulgation: je maintiens cela) prend en charge Flat OPC XML pour docx.

+0

https://github.com/plutext/docx4j/commit/df9afd6fc6d4256a478b8e74d3f7f418c748ebaf est une implémentation de preuve de concept de conversion de Word 2003 XML au format docx. – JasonPlutext

Questions connexes