2010-03-04 40 views
2

Quelqu'un a-t-il déjà fait l'expérience de faire du publipostage à partir de Java sur un document Word? Je dois prendre en charge les formats doc et docx.Fusion et publipostage à partir de Java

J'ai entendu parler d'Apache POI et de docx4j. Cependant, en lisant, je suis sûr que le mot soutien est bon dans les POI. docx4j ne supporte que le format docx autant que je peux voir.

Peut-on suggérer l'un des éléments ci-dessus (et corriger mes connaissances sur le support) ou une autre bibliothèque appropriée. Si nécessaire, je serais prêt à utiliser une lib pour doc et un autre pour docx.

Merci.

Répondre

3

Travailler avec des documents MS Word est très difficile. Le format DOC est très compliqué, DOCX est en théorie plus simple, mais il est plutôt nouveau et il n'y a pas de bibliothèque Java mature et riche en fonctionnalités pour travailler avec DOC.

Les solutions les plus simples à la plupart des problèmes liés à l'utilisation de documents MS Office sont décrites dans la section Joel Spolsky article. J'espère que vous pouvez utiliser cette méthode dans votre application.

+0

Merci, après avoir essayé d'utiliser les API Open Office, je suis obligé d'être d'accord avec l'article. –

1

Jetez un oeil à OpenOffice pour voir [manuellement] s'il peut produire les types de fichiers dont vous avez besoin. Il suffit de charger quelques docs et d'enregistrer des docs et des versions de docx. Si les résultats passent ces tests manuels simples, alors Docmosis ou JODReports peut automatiser cela à partir de Java.

+0

+1 L'utilisation de LibreOffice pour convertir doc en docx peut fonctionner suffisamment bien pour vous. Ensuite, en Java, vous pouvez travailler exclusivement avec docx. – JasonPlutext

1

Si vous êtes ouvert à des solutions non-libres, Aspose fournit ce qui semble être un Java API for mail merging très sophistiqué, entre autres choses.

0

J'avais besoin de quelque chose de similaire et j'ai construit un projet simple qui permet de faire un mail-merge d'un document Word et des données à partir d'un fichier Excel/CSV.

Vous pouvez le trouver au https://github.com/centic9/poi-mail-merge, peut-être qu'il fournit déjà ce dont vous avez besoin ici, sinon il est, espérons-le, facile d'ajouter plus de fonctionnalités.