J'ai besoin d'utiliser l'API OpenOffice Java pour copier une section de document et la coller sur une autre section de document. Jusqu'à présent, j'ai réussi à copier le texte de la section du document source et à le coller sur la section du document cible (voir l'exemple ci-dessous).Copier une section complète de document ODT (Openoffice Writer) vers un autre document avec Openoffice Java API (API UNO)
Cependant, le problème est que les éléments non textuels (graphiques, formats, tableaux, etc.) ne sont pas collés sur le document de destination.
Le code que je l'ai utilisé pour extraire le texte de la section source est:
// Read source file text
XComponent xComponentSource = this.ooHelper.loadDocument("file://" + fSource);
// Get sections
XTextSectionsSupplier textSectionsSupplierSource = (XTextSectionsSupplier)UnoRuntime.queryInterface(XTextSectionsSupplier.class, xComponentSource);
XNameAccess nameAccessSource = textSectionsSupplierOrigen.getTextSections();
// Get sections by name
XTextSection textSectionSource = (XTextSection)UnoRuntime.queryInterface(XTextSection.class, nameAccessOrigen.getByName("SeccEditable"));
//Get section text
String sectionSource = textSectionSource.getAnchor().getString();
Pour coller le texte sur la section cible, le code pour sélectionner la section est le même, et je mis la chaîne :
textSectionDest.getAnchor().setString(sectionSource);
J'ai lu l'API Javadoc et je n'ai trouvé aucune méthode pour copier la section entière. Y a-t-il un moyen de le faire?
Ce tutoriel OOOForum devrait vous aider à: [Obtenir un contenu et le transférer vers un autre document] (http://www.oooforum.org/forum/viewtopic.phtml?t=71000). –