I olika fall måste du dela upp ett MS Word-dokument i flera dokument. Till exempel kan du behöva skapa ett separat dokument för varje sida, avsnitt eller samling av sidor i ett Word-dokument. För att automatisera dokumentdelningen tar den här artikeln upp hur man delar MS Word DOCX programmatiskt med Java. Följande avsnitt ger en steg-för-steg handledning och kodexempel av de ovan nämnda uppdelningskriterierna.
- Java API för att dela Word-dokument
- Dela ett Word DOCX/DOC med Java
- Använd sidintervall för att dela Word-dokument
- Dela Word-dokument efter sektioner
- Få gratis API-licens
Java API till Split Word DOCX
Aspose.Words for Java är ett kraftfullt och funktionsrikt API för dokumentmanipulering som låter dig skapa och bearbeta MS Word-dokument. Förutom de grundläggande såväl som avancerade Word-automatiseringsfunktionerna låter API:et dig också dela upp ett Word-dokument i flera dokument. Du kan antingen ladda ner API:t eller installera det i din Maven-baserade applikation med följande konfigurationer.
<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>
Word Document Splitter - Hjälparklass
Innan du börjar dela upp dokumenten måste du lägga till följande hjälparklass till ditt projekt som implementerar en Java-dokumentdelare baserad på Aspose.Words för Java. När du har lagt till klassen kan du fortsätta att dela upp dokumenten med hjälp av kodexemplen i avsnitten nedan.
Dela ett Word DOCX med Java
Först och främst, låt oss ta en titt på hur man delar upp ett MS Word-dokument efter sida. I det här fallet kommer varje sida i källdokumentet att konverteras till ett separat Word-dokument. Följande är stegen för att dela sidor i ett Word-dokument.
- Ladda Word-dokumentet med klassen Dokument.
- Skapa ett objekt av PageSplitter och initiera det med objektet Document.
- Bläddra igenom sidorna i dokumentet.
- Använd metoden PageSplitter.getDocumentOfPage(Int pageIndex) för att hämta varje sida till ett Document-objekt.
- Spara dokumentet med metoden Document.save(String).
Följande kodexempel visar hur man delar upp ett Word-dokument med Java.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-words/Aspose.Words-for-Java
// Öppna ett Word-dokument
Document doc = new Document("Word.docx");
// Dela upp noder i dokumentet i separata sidor
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// Spara varje sida som ett separat dokument
for (int page = 1; page <= doc.getPageCount(); page++)
{
Document pageDoc = splitter.getDocumentOfPage(page);
pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}
Använd Page Range för att dela Word DOCX i Java
Du kan också definiera ett sidintervall som du vill dela från Word-källdokumentet. Följande är stegen för att utföra denna operation.
- Ladda Word-dokumentet med klassen Document.
- Skapa ett objekt av PageSplitter och initiera det med objektet Document.
- Använd metoden PageSplitter.getDocumentOfPageRange(Int, Int) för att hämta en samling sidor till ett Document-objekt.
- Spara dokumentet med metoden Document.save(String).
Följande kodexempel visar hur man delar upp ett Word-dokument efter ett sidintervall med Java.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-words/Aspose.Words-for-Java
// Öppna ett Word-dokument
Document doc = new Document("Word.docx");
// Dela upp noder i dokumentet i separata sidor
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// Hämta en del av dokumentet
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");
Dela upp ett Word-dokument efter sektioner med hjälp av Java
Aspose.Words för Java låter dig också dela upp ett Word-dokument efter avsnittsbrytningar. Följande är stegen för att utföra denna operation.
- Ladda Word-dokumentet med klassen Document.
- Gå igenom varje avsnitt av dokumentet med metoden Document.getSections().
- Klona sektionen till ett Section-objekt med metoden Document.getSections().get(index).deepClone().
- Skapa ett nytt dokument och lägg till en klonad sektion till dokumentet med metoden Document.getSections().add(Section).
- Spara dokumentet med metoden Document.save(String).
Följande kodexempel visar hur man delar upp ett Word-dokument efter sektioner med Java.
// Ladda ett Word DOCX-dokument
Document doc = new Document("word.docx");
for (int i = 0; i < doc.getSections().getCount(); i++) {
// Dela upp ett dokument i mindre delar, i det här fallet uppdelat efter avsnitt
Section section = doc.getSections().get(i).deepClone();
// Skapa ett nytt dokument
Document newDoc = new Document();
newDoc.getSections().clear();
// Lägg till avsnitt
Section newSection = (Section) newDoc.importNode(section, true);
newDoc.getSections().add(newSection);
// Spara varje avsnitt som ett separat dokument
newDoc.save("splitted_" + i + ".docx");
}
Skaffa en gratis API-licens
Du kan skaffa en gratis tillfällig licens för att prova API utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du delar upp MS Word DOCX/DOC med Java. Steg-för-steg-guiden och kodexemplen har visat hur man delar upp ett Word-dokument efter sektioner, sidor eller en rad sidor. Du kan utforska mer om Java Word API med dokumentation.