Как да премахнете бяла страница в Word с C#

Как да премахнете бяла страница в Word с C#

Word документи (DOCX, DOC, и т.н.) с помощта на C#. Процесът включва изтегляне на Word.

Предимства на премахване на бели страници в Word документи

  • Чисти документи:- Подобрява четенето и професионализма.

  • Намален размер на файла:- Ефективно съхранение чрез премахване на ненужни страници.

  • Възможност за автоматизиране:- Идеален за автоматично почистване на големи документи.

Предимства: Подготвяне на околната среда

  • Visual Studio или друг .NET IDE.
  • Aspose.Words се добавя чрез NuGet Package Manager.

Стъпка по стъпка ръководство за премахване на бели страници в Word с C#

Стъпка 1: Настройване на околната среда

Aspose.Words чрез мениджъра на пакетите на NuGet.

Install-Package Aspose.Words

Стъпка 2: Изтегляне на Word документ

Изтеглете оригиналния си Word файл, като използвате обекта от клас Документ.

Document originalDoc = new Document("WordFileWithBlankPages.docx");

Стъпка 3: Екстрактиране на всяка страница отделно

Преминавайте през всяка страница и извлечете всяка от страниците в отделен документ за анализ.

int totalPages = originalDoc.PageCount;

for (int i = 0; i < totalPages; i++)
{
    Document singlePageDoc = originalDoc.ExtractPages(i, 1);
    // Analyze singlePageDoc in next steps
}

Стъпка 4: Анализиране на единични документи

Проверете дали един-странен документ съдържа текст или форми.

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

Стъпка 5: Поддържайте списъка с непразни страници

Следвайте броя на страниците, съдържащи съдържание.

ArrayList blankPages = new ArrayList();
blankPages.Add(-1);

if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
    blankPages.Add(i); // i is page index in loop

Стъпка 6: Добавяне на непразни страници към нов документ

Създайте нов документ и допълвайте само непразни страници с помощта на списъка, който се проследява.

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);
}

Стъпка 7: Запазете модифицирания документ

Съхранявайте новия документ с изтрити бели страници.

finalDoc.Save(@"cleaned.docx");

Допълнителен код Пример за изтриване на бели страници в Word с C#

По-долу е пълен пример за изпълняващ се код, който демонстрира горепосочените стъпки:

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.");

заключение

Тази статия обяснява как да премахнете празни страници в Word файлове с помощта на C#. Като следвате предвидените стъпки, можете програматично да откриете празнени страници и да ги изтриете, което води до по-чист документ.

 Български