Kako ukloniti praznu stranicu u Wordu pomoću C#

Ovaj kratki vodič osmišljen je da objasni kako ukloniti praznu stranicu u Wordu koristeći C# kao što je DOCX, DOC, itd. Pruža pojedinosti za konfiguriranje okruženja zajedno s koracima koje treba izvesti za zadatak i primjer koda koji implementira kompletnu logiku za brisanje prazne stranice u Wordu pomoću C#. Ovaj kôd možete pokrenuti bez instaliranja bilo kakvog softvera treće strane koristeći bilo koji operativni sustav kao što su Windows, Linux ili macOS.

Koraci za brisanje prazne stranice u Wordu pomoću C#

  1. Konfigurirajte projekt za dodavanje biblioteke Aspose.Words u projekt
  2. Učitajte izvornu Word datoteku u objekt klase Document da uklonite prazne stranice
  3. Raščlanite sve stranice u izvornom dokumentu i dohvatite svaku stranicu zasebno
  4. Izradite zaseban dokument sa svakom pojedinom stranicom samo iz izvornog dokumenta
  5. Analizirajte ovaj dokument na jednoj stranici i provjerite sadrži li neki section neki čvor teksta/oblika ili ne
  6. Održavajte popis svih nepraznih stranica u izvornom dokumentu
  7. Dodajte sve neprazne stranice u novu Word datoteku
  8. Spremite ovu datoteku sa stranicama samo s nekim tekstom ili oblikom

Ovi koraci pružaju pojedinosti za brisanje prazne stranice u Wordu pomoću C#. Prvo učitavate izvornu Word datoteku, a zatim analizirate svaku od stranica u njoj tako da se za svaku stranicu kreira novi Word dokument. To je potrebno jer moramo analizirati svaku stranicu zasebno, a značajke klase Document pomoći će nam da identificiramo neprazne stranice. Tijekom analize, svaka neprazna stranica dodaje se u novu Word datoteku koja će sadržavati sve takve stranice.

Kod za brisanje prazne stranice u Wordu pomoću C#

using System.Collections;
using Aspose.Words;
namespace DeleteABlankPageInWordUsingCSharp
{
class Program
{
static void Main(string[] args) // Main function to delete a blank page in Word using CSharp
{
// Instantiate the license to avoid any trial version limitations
// and watermark in the output Word file
Aspose.Words.License licDeleteBlankPages= new Aspose.Words.License();
licDeleteBlankPages.SetLicense("Aspose.Words.lic");
// Load the Word file having blank pages in it
Document originalDocWithFewBlankPages = new Document("WordFileWithBlankPages.docx");
// Declare an array to store page numbers of the empty or blank pages
ArrayList listOfBlankPageNumbers = new ArrayList();
listOfBlankPageNumbers.Add(-1);
// Extract each page of the loaded document as a separate Word document
int totalPagesInOriginalDoc = originalDocWithFewBlankPages.PageCount;
for (int iCount = 0; iCount < totalPagesInOriginalDoc; iCount++)
{
// Create a new Word document containing the single page
Document DocWithOnePage = originalDocWithFewBlankPages.ExtractPages(iCount, 1);
// Parse through all the sections of the newly created document
// to count text segments and shapes if any
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in DocWithOnePage.Sections)
{
// Extract text from the section and also get shapes count in the newly created document
pageText = pageText + docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
// Check if the extracted page is null or not and also check if shapes count is 0 or not
// If text is blank and shapes count is 0, it means the page is blank
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
listOfBlankPageNumbers.Add(iCount);
}
listOfBlankPageNumbers.Add(totalPagesInOriginalDoc);
// Add all the non-empty pages to the final document
Document nonEmptyDocument = (Document)originalDocWithFewBlankPages.Clone(false);
nonEmptyDocument.RemoveAllChildren();
for (int iCount = 1; iCount < listOfBlankPageNumbers.Count; iCount++)
{
int index = (int)listOfBlankPageNumbers[iCount - 1] + 1;
int count = (int)listOfBlankPageNumbers[iCount] - index;
if (count > 0)
nonEmptyDocument.AppendDocument(originalDocWithFewBlankPages.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
// Save the output file having all the non-empty pages
nonEmptyDocument.Save(@"NonEmptyPages.docx");
System.Console.WriteLine("Done");
}
}
}

Ovaj kod za uklanjanje prazne stranice iz Word dokumenta pomoću C# opisuje potpunu logiku u kojoj se svaka stranica izvorne Word datoteke sprema u novu Word datoteku i zatim analizira za sadržaj u njoj. Tijekom ovog procesa, zaglavlja i podnožja se ne uzimaju u obzir, no možete i njih uključiti. Nakon što su sve stranice analizirane i njihovi brojevi spremljeni u polje, ovo polje se koristi za dodavanje svih tih stranica u novu Word datoteku.

U ovom vodiču uklonili smo sve prazne stranice iz Word datoteke. Ako želite naučiti neke druge funkcije poput pretvaranja Word dokumenata u HTML, pogledajte članak na kako pretvoriti Word dokument u HTML pomoću C#.

 Hrvatski