Hoe Blank Page in Word te verwijderen met behulp van C#

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.

 Nederlands