Hoe Blank Page in Word te verwijderen met behulp van C#
Dit snelle tutorial verklaart hoe om lege pagina’s te verwijderen van Word-documenten (DOCX, DOC, etc.) met behulp van C#. Het proces omvat het laden van een Word-bestand, het analyseren van individuele pagina’s, het identificeren van lege pagina’s, en uiteindelijk het creëren van een nieuw document zonder de lege pagina’s.
De voordelen van het verwijderen van blanke pagina’s in Word-documenten
Reiniging van het document:- Verbetering van leesbaarheid en professionalisme.
Verminderde bestandsgrootte:- Efficiënte opslag door onnodige pagina’s te elimineren.
Automatische capaciteit:- Ideaal om grote documenten automatisch te reinigen.
Voorwaarden: het voorbereiden van het milieu
- Visual Studio of andere .NET IDE.
- Aspose.Words is toegevoegd via NuGet Package Manager.
Step-by-step gids voor het verwijderen van blanke pagina’s in Word met behulp van C#
Stap 1: Het instellen van een omgeving
Installeer de Aspose.Words-bibliotheek via NuGet-pakketmanager.
Install-Package Aspose.Words
Stap 2: Laden van het Word-document
Download uw oorspronkelijke Word-bestand met behulp van het Document-klasse-object.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
Stap 3: Verwijder elke pagina afzonderlijk
Ga door elke pagina en extraheren elke pagina in een afzonderlijk Document voor analyse.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
Stap 4: Analyse van single-page documenten
Controleer of het enkelpagina-document tekst of vormen bevat.
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in singlePageDoc.Sections)
{
pageText += docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
Stap 5: Houd een lijst met niet lege pagina’s
Volg de pagina’s met inhoud.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
Stap 6: Voeg geen lege pagina’s toe aan een nieuw document
Maak een nieuw document en voeg alleen niet-vrije pagina’s toe met behulp van de gecontroleerde lijst.
Document finalDoc = (Document)originalDoc.Clone(false);
finalDoc.RemoveAllChildren();
blankPages.Add(totalPages);
for (int i = 1; i < blankPages.Count; i++)
{
int index = (int)blankPages[i - 1] + 1;
int count = (int)blankPages[i] - index;
if (count > 0)
finalDoc.AppendDocument(originalDoc.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
Stap 7: Bewaar het gewijzigde document
Speel het nieuwe document met witte pagina’s verwijderd.
finalDoc.Save(@"cleaned.docx");
Volledige code voorbeeld om blanke pagina’s in Word te verwijderen met behulp van C#
Hieronder is het volledige uitvoerbare code voorbeeld dat de bovenstaande stappen toont:
Document originalDoc = new Document("WordFileWithBlankPages.docx");
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in singlePageDoc.Sections)
{
pageText += docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i);
}
blankPages.Add(totalPages);
Document finalDoc = (Document)originalDoc.Clone(false);
finalDoc.RemoveAllChildren();
for (int i = 1; i < blankPages.Count; i++)
{
int index = (int)blankPages[i - 1] + 1;
int count = (int)blankPages[i] - index;
if (count > 0)
finalDoc.AppendDocument(originalDoc.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
finalDoc.Save(@"NonEmptyPages.docx");
System.Console.WriteLine("Blank pages removed successfully.");
Conclusie
In dit artikel wordt uitgelegd hoe u leegpagina’s in Word-bestanden te verwijderen met behulp van C#. Door de gestelde stappen te volgen, kunt u leegpagina’s programmatisch detecteren en verwijderen, wat resulteert in een schoonere document.