Dividi documenti Word Java

In vari casi, è necessario dividere un documento MS Word in più documenti. Ad esempio, potrebbe essere necessario creare un documento separato per ogni pagina, sezione o raccolta di pagine in un documento di Word. Per automatizzare la divisione dei documenti, questo articolo spiega come dividere MS Word DOCX a livello di codice utilizzando Java. Le sezioni seguenti forniscono un’esercitazione dettagliata ed esempi di codice dei criteri di suddivisione sopra menzionati.

API Java per dividere Word DOCX

Aspose.Words for Java è un’API di manipolazione dei documenti potente e ricca di funzionalità che ti consente di creare ed elaborare documenti MS Word. Oltre alle funzionalità di automazione di Word di base e avanzate, l’API consente anche di dividere un documento di Word in più documenti. Puoi scaricare l’API o installarla all’interno della tua applicazione basata su Maven utilizzando le seguenti configurazioni.

<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>

Separatore di documenti di Word - Classe di supporto

Prima di iniziare a dividere i documenti, dovresti aggiungere la seguente classe helper al tuo progetto che implementa uno splitter di documenti Java basato su Aspose.Words per Java. Una volta aggiunta la classe, puoi procedere alla suddivisione dei documenti utilizzando gli esempi di codice forniti nelle sezioni seguenti.

Dividi un Word DOCX usando Java

Prima di tutto, diamo un’occhiata a come dividere un documento MS Word per pagina. In questo caso, ogni pagina del documento di origine verrà convertita in un documento Word separato. Di seguito sono riportati i passaggi per dividere le pagine di un documento di Word.

L’esempio di codice seguente mostra come dividere un documento di Word utilizzando Java.

// Per esempi completi e file di dati, vai a https://github.com/aspose-words/Aspose.Words-for-Java
// Apri un documento di Word
Document doc = new Document("Word.docx");

// Dividi i nodi nel documento in pagine separate
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Salva ogni pagina come un documento separato
for (int page = 1; page <= doc.getPageCount(); page++)
{
    Document pageDoc = splitter.getDocumentOfPage(page);
    pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}

Usa Intervallo di pagine per dividere Word DOCX in Java

Puoi anche definire un intervallo di pagine che desideri dividere dal documento Word di origine. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come dividere un documento di Word per un intervallo di pagine utilizzando Java.

// Per esempi completi e file di dati, vai a https://github.com/aspose-words/Aspose.Words-for-Java
// Apri un documento di Word
Document doc = new Document("Word.docx");

// Dividi i nodi nel documento in pagine separate
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
 
// Ottieni parte del documento
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");

Dividi un documento di Word per sezioni usando Java

Aspose.Words per Java consente anche di dividere un documento di Word per interruzioni di sezione. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come dividere un documento di Word per sezioni usando Java.

// Carica un documento Word DOCX
Document doc = new Document("word.docx");

for (int i = 0; i < doc.getSections().getCount(); i++) {
	// Dividi un documento in parti più piccole, in questo caso divise per sezione
	Section section = doc.getSections().get(i).deepClone();

	// Crea un nuovo documento
	Document newDoc = new Document();
	newDoc.getSections().clear();

  	// Aggiungi sezione
	Section newSection = (Section) newDoc.importNode(section, true);
	newDoc.getSections().add(newSection);

	// Salva ogni sezione come documento separato
	newDoc.save("splitted_" + i + ".docx");
}

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per provare l’API senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come dividere MS Word DOCX/DOC usando Java. La guida passo passo e gli esempi di codice hanno mostrato come dividere un documento di Word per sezioni, pagine o un intervallo di pagine. Puoi esplorare di più sull’API di Java Word utilizzando la documentazione.

Guarda anche