MS Word-dokument används ofta för att behålla och dela information. I vissa fall kan du behöva dela upp data från ett Word-dokument som kan finnas i olika avsnitt eller sidor. Du kan också behöva dela upp sidorna i ett enda dokument i flera dokument. I enlighet med sådana scenarier syftar den här artikeln till att visa dig hur du delar MS Word-dokument programmatiskt med C#.
- C# API för att dela MS Word-dokument
- Dela upp Word-dokument efter avsnitt med C#
- Dela Word-dokument sida för sida med C#
- Använd ett sidintervall för att dela Word-dokument med C#
C# API för att dela MS Word-dokument
Aspose.Words for .NET är ett kraftfullt ordbehandlings-API som låter dig skapa och manipulera MS Word-dokument med C# eller VB.NET. Tillsammans med det låter det dig också dela MS Word-dokument efter avsnitt, sida eller sidintervall. Du kan ladda ner API:et eller installera det i din applikation med NuGet.
PM> Install-Package Aspose.Words
Dela upp Word-dokument efter avsnitt med C#
Avsnitt hänvisar till de delar av ett dokument där olika formatering kan tillämpas. En sektion kan bestå av en enda sida, ett antal sidor eller hela dokumentet. Avsnittsbrytningarna används för att dela upp ett dokument i flera avsnitt. Följande är stegen för att dela upp ett Word-dokument baserat på dess avsnitt med Aspose.Words för .NET.
- Ladda Word-dokumentet med klassen Document.
- Bläddra igenom sidavsnitten med egenskapen Document.Sections.
- Klona avsnittet till ett nytt Section objekt.
- Skapa ett nytt Dokument-objekt.
- Lägg till avsnittet i det nya Dokument med metoden Document.Sections.Add(Section).
- Spara dokumenten med metoden Document.Save(String).
Följande kodexempel visar hur man delar upp MS Word-dokument efter sektioner med C#.
// Öppna ett Word-dokument
Document doc = new Document("document.docx");
for (int i = 0; i < doc.Sections.Count; i++)
{
// Dela upp ett dokument i mindre delar, i det här fallet uppdelat efter avsnitt
Section section = doc.Sections[i].Clone();
// Skapa ett nytt dokument
Document newDoc = new Document();
newDoc.Sections.Clear();
Section newSection = (Section)newDoc.ImportNode(section, true);
newDoc.Sections.Add(newSection);
// Spara varje avsnitt som ett separat dokument
newDoc.Save($"splitted_{i}.docx");
}
Dela Word-dokument sida för sida med C#
Det kan vara fallet när ett Word-dokument innehåller en liknande typ av information på varje sida, såsom fakturor eller kvitton. I så fall kan du dela upp dokumentets sidor för att spara varje faktura som ett separat dokument. För att dela upp dokumenten sida för sida kan du använda hjälpklassen DocumentPageSplitter baserad på Aspose.Words för .NET. Du kan helt enkelt kopiera klassen i ditt projekt och dela upp Word-dokumenten sida för sida genom att följa stegen nedan.
- Ladda Word-dokumentet med klassen Dokument.
- Skapa ett objekt av klassen DocumentPageSplitter och initiera det med Document-objektet.
- Iterera genom dokumentets sidor.
- Extrahera varje sida till ett nytt Document-objekt med metoden DocumentPageSplitter.GetDocumentOfPage(int PageIndex).
- Spara varje dokument med metoden Document.Save(String).
Följande kodexempel visar hur man delar upp Word-dokumentet efter sidor med C#.
// Öppna ett Word-dokument
Document doc = new Document("Document.docx");
// Skapa och initiera dokumentsiddelaren
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// Spara varje sida som ett separat dokument
for (int page = 1; page <= doc.PageCount; page++)
{
Document pageDoc = splitter.GetDocumentOfPage(page);
pageDoc.Save($"spliteed_{page}.docx");
}
Dela Word-dokument efter sidintervall med C#
Du kan också ange ett sidintervall för att dela det från originaldokumentet med klassen DocumentPageSplitter. Om du till exempel behöver dela upp sidorna från 2 till 4, anger du bara start- och slutsidans index i metoden DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex).
Följande kodexempel visar hur man delar ett sidintervall från Word-dokument med C#.
// Öppna ett Word-dokument
Document doc = new Document("document.docx");
// Skapa och initiera dokumentsiddelare
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
// Hämta sidintervallet
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");
Slutsats
I den här artikeln har du lärt dig hur du delar MS Word-dokument programmatiskt med C#. Scenarierna för att dela upp Word-dokument efter avsnitt, sidor och sidintervall har diskuterats tillsammans med kodexempel. Du kan utforska mer om Aspose.Words för .NET med hjälp av dokumentationen.