Stampa unione da Java
Domanda
Qualcuno ha alcuna esperienza con il fare la stampa unione da Java su un documento word? Ho bisogno di supportare entrambi i formati DOC e DOCX.
Ho sentito parlare di Apache POI e docx4j. Tuttavia, dalla lettura in giro sono sicuro che quanto è buono il supporto parola è in POI. docx4j solo supporti DOCX formato per quanto posso vedere.
Può un suggerire uno di quanto sopra (e correggere le mie conoscenze sul sostegno) o un altro libreria appropriata. Se necessario, sarei disposto a utilizzare un lib per doc e un altro per docx.
Grazie.
Soluzione
Lavorare con i documenti di MS Word è molto difficile. formato DOC è molto complicato, DOCX è in teoria più semplice, ma è piuttosto nuovo e non c'è è maturo, ricco di funzionalità libreria Java per lavorare con esso e DOC pure.
Le soluzioni più semplici per la maggior parte dei problemi connessi con il lavoro con i documenti MS Office è descrivere il Joel Spolsky articolo . Spero che è possibile utilizzare questo metodo nella vostra applicazione.
Altri suggerimenti
Docx4j ha un MailMerger
classe. Funziona, ma si mette a nudo fuori un sacco di formattazione nel processo.
Date un'occhiata al OpenOffice per vedere [manualmente] se è in grado di produrre i tipi di file necessari. Basta caricare alcuni documenti, e salvare alcuni documenti e le versioni docx. Se i risultati passano questi semplici test manuali, quindi Docmosis o JODReports possibile automatizzare questo da Java.
Se siete aperti a soluzioni non-free, Aspose offre quello che sembra essere un sofisticato API Java per la posta la fusione , tra le altre cose.
avevo bisogno di qualcosa di simile e hanno costruito un progetto semplice, che permette di fare una stampa unione di un documento di parola e dati da un file Excel / CSV.
Si può trovare a https://github.com/centic9/poi-mail-merge , forse è già prevede che cosa avete bisogno qui, altrimenti è si spera facile aggiungere ulteriori funzionalità.