Diviser les documents Word Java

Dans divers cas, vous devez diviser un document MS Word en plusieurs documents. Par exemple, vous devrez peut-être créer un document distinct pour chaque page, section ou ensemble de pages d’un document Word. Afin d’automatiser le fractionnement du document, cet article explique comment fractionner MS Word DOCX par programme à l’aide de Java. Les sections suivantes fournissent un didacticiel pas à pas et des exemples de code des critères de fractionnement mentionnés ci-dessus.

API Java pour diviser Word DOCX

Aspose.Words for Java est une API de manipulation de documents puissante et riche en fonctionnalités qui vous permet de créer et de traiter des documents MS Word. Outre les fonctionnalités d’automatisation de base et avancées de Word, l’API vous permet également de diviser un document Word en plusieurs documents. Vous pouvez soit télécharger l’API ou l’installer dans votre application basée sur Maven en utilisant les configurations suivantes.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.1</version>
    <classifier>jdk17</classifier>
</dependency>

Séparateur de documents Word - Classe d’assistance

Avant de commencer à diviser les documents, vous devez ajouter la classe d’assistance suivante à votre projet qui implémente un séparateur de documents Java basé sur Aspose.Words for Java. Une fois que vous avez ajouté la classe, vous pouvez procéder à la division des documents à l’aide des exemples de code fournis dans les sections ci-dessous.

Fractionner un Word DOCX en utilisant Java

Tout d’abord, voyons comment diviser un document MS Word par page. Dans ce cas, chaque page du document source sera convertie en un document Word distinct. Voici les étapes pour diviser les pages d’un document Word.

L’exemple de code suivant montre comment fractionner un document Word à l’aide de Java.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-words/Aspose.Words-for-Java
// Ouvrir un document Word
Document doc = new Document("Word.docx");

// Diviser les nœuds du document en pages distinctes
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Enregistrez chaque page dans un document séparé
for (int page = 1; page <= doc.getPageCount(); page++)
{
    Document pageDoc = splitter.getDocumentOfPage(page);
    pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}

Utiliser la plage de pages pour diviser Word DOCX en Java

Vous pouvez également définir une plage de pages que vous souhaitez séparer du document Word source. Voici les étapes pour effectuer cette opération.

L’exemple de code suivant montre comment fractionner un document Word par plage de pages à l’aide de Java.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-words/Aspose.Words-for-Java
// Ouvrir un document Word
Document doc = new Document("Word.docx");

// Diviser les nœuds du document en pages distinctes
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
 
// Obtenir une partie du document
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");

Diviser un document Word par sections à l’aide de Java

Aspose.Words for Java vous permet également de diviser un document Word par sauts de section. Voici les étapes pour effectuer cette opération.

L’exemple de code suivant montre comment diviser un document Word en sections à l’aide de Java.

// Charger un document Word DOCX
Document doc = new Document("word.docx");

for (int i = 0; i < doc.getSections().getCount(); i++) {
	// Diviser un document en parties plus petites, dans ce cas divisé par section
	Section section = doc.getSections().get(i).deepClone();

	// Créer un nouveau document
	Document newDoc = new Document();
	newDoc.getSections().clear();

  	// Ajouter une rubrique
	Section newSection = (Section) newDoc.importNode(section, true);
	newDoc.getSections().add(newSection);

	// Enregistrez chaque section dans un document séparé
	newDoc.save("splitted_" + i + ".docx");
}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’essayer l’API sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à diviser MS Word DOCX/DOC en utilisant Java. Le guide étape par étape et les exemples de code ont montré comment diviser un document Word en sections, pages ou plage de pages. Vous pouvez en savoir plus sur l’API Java Word à l’aide de documentation.

Voir également