Clonage et combinaison de documents dans Aspose.Words pour Java

Introduction au clonage et à la combinaison de documents dans Aspose.Words pour Java

Dans ce didacticiel, nous allons découvrir comment cloner et combiner des documents à l’aide d’Aspose.Words pour Java. Nous aborderons divers scénarios, notamment le clonage d’un document, l’insertion de documents aux points de remplacement, les signets et pendant les opérations de publipostage.

Étape 1 : Cloner un document

Pour cloner un document dans Aspose.Words pour Java, vous pouvez utiliser ledeepClone() méthode. Voici un exemple simple :

Document doc = new Document("Your Directory Path" + "Document.docx");
Document clone = doc.deepClone();
clone.save("Your Directory Path" + "CloneAndCombineDocuments.CloningDocument.docx");

Ce code créera un clone profond du document d’origine et l’enregistrera en tant que nouveau fichier.

Étape 2 : insertion de documents aux points de remplacement

Vous pouvez insérer des documents à des points de remplacement spécifiques dans un autre document. Voici comment procéder :

Document mainDoc = new Document("Your Directory Path" + "Document insertion 1.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.setDirection(FindReplaceDirection.BACKWARD);
options.setReplacingCallback(new InsertDocumentAtReplaceHandler());
mainDoc.getRange().replace(Pattern.compile("\\[MY_DOCUMENT\\]"), "", options);
mainDoc.save("Your Directory Path" + "CloneAndCombineDocuments.InsertDocumentAtReplace.docx");

Dans cet exemple, nous utilisons unFindReplaceOptions objet pour spécifier un gestionnaire de rappel pour le remplacement.InsertDocumentAtReplaceHandler la classe gère la logique d’insertion.

Étape 3 : Insérer des documents dans les signets

Pour insérer un document à un signet spécifique dans un autre document, vous pouvez utiliser le code suivant :

Document mainDoc = new Document("Your Directory Path" + "Document insertion 1.docx");
Document subDoc = new Document("Your Directory Path" + "Document insertion 2.docx");
Bookmark bookmark = mainDoc.getRange().getBookmarks().get("insertionPlace");
insertDocument(bookmark.getBookmarkStart().getParentNode(), subDoc);
mainDoc.save("Your Directory Path" + "CloneAndCombineDocuments.InsertDocumentAtBookmark.docx");

Ici, nous trouvons le signet par nom et utilisons leinsertDocument méthode pour insérer le contenu dusubDoc document à l’emplacement du signet.

Étape 4 : insertion de documents lors du publipostage

Vous pouvez insérer des documents lors d’une opération de publipostage dans Aspose.Words pour Java. Voici comment procéder :

Document mainDoc = new Document("Your Directory Path" + "Document insertion 1.docx");
mainDoc.getMailMerge().setFieldMergingCallback(new InsertDocumentAtMailMergeHandler());
mainDoc.getMailMerge().execute(new String[] { "Document_1" }, new Object[] { "Your Directory Path" + "Document insertion 2.docx" });
mainDoc.save("Your Directory Path" + "CloneAndCombineDocuments.InsertDocumentAtMailMerge.doc");

Dans cet exemple, nous définissons un rappel de fusion de champs à l’aide de la fonctionInsertDocumentAtMailMergeHandler classe pour gérer l’insertion du document spécifié par le champ « Document_1 ».

Conclusion

Le clonage et la combinaison de documents dans Aspose.Words pour Java peuvent être réalisés à l’aide de diverses techniques. Que vous ayez besoin de cloner un document, d’insérer du contenu aux points de remplacement, des signets ou pendant le publipostage, Aspose.Words fournit des fonctionnalités puissantes pour manipuler les documents de manière transparente.

FAQ

Comment cloner un document dans Aspose.Words pour Java ?

Vous pouvez cloner un document dans Aspose.Words pour Java en utilisant ledeepClone() méthode. Voici un exemple :

Document doc = new Document("Your Directory Path" + "Document.docx");
Document clone = doc.deepClone();
clone.save("Your Directory Path" + "ClonedDocument.docx");

Comment puis-je insérer un document dans un signet ?

Pour insérer un document dans un signet dans Aspose.Words pour Java, vous pouvez rechercher le signet par son nom, puis utiliser leinsertDocument méthode pour insérer le contenu. Voici un exemple :

Document mainDoc = new Document("Your Directory Path" + "MainDocument.docx");
Document subDoc = new Document("Your Directory Path" + "SubDocument.docx");
Bookmark bookmark = mainDoc.getRange().getBookmarks().get("MyBookmark");
insertDocument(bookmark.getBookmarkStart().getParentNode(), subDoc);
mainDoc.save("Your Directory Path" + "CombinedDocument.docx");

Comment insérer des documents lors du publipostage dans Aspose.Words pour Java ?

Vous pouvez insérer des documents lors de la fusion de courrier dans Aspose.Words pour Java en définissant un rappel de fusion de champs et en spécifiant le document à insérer. Voici un exemple :

Document mainDoc = new Document("Your Directory Path" + "MainDocument.docx");
mainDoc.getMailMerge().setFieldMergingCallback(new InsertDocumentAtMailMergeHandler());
mainDoc.getMailMerge().execute(new String[] { "DocumentField" }, new Object[] { "Your Directory Path" + "DocumentToInsert.docx" });
mainDoc.save("Your Directory Path" + "MergedDocument.docx");

Dans cet exemple, leInsertDocumentAtMailMergeHandlerla classe gère la logique d’insertion du « DocumentField » lors du publipostage.