Ako odstrániť bielu stránku v slove pomocou C#
Tento rýchly tutoriál vysvetľuje, ako odstrániť prázdne stránky z dokumentov Word (DOCX, DOC, atď.) pomocou C#. Proces zahŕňa načítanie súboru Word, analýzu jednotlivých stránok, identifikáciu prázdnych stránok a nakoniec vytvorenie nového dokumentu bez prázdnych stránok.
Výhody odstránenia bielych stránok v Word dokumentoch
Čistý dokument:- Zlepšuje čitateľnosť a profesionalizmus.
Znížená veľkosť súboru:- Účinné ukladanie odstránením zbytočných stránok.
Automatizácia kapacity:- Ideálne pre automatické čistenie veľkých dokumentov.
Predpoklady: Príprava životného prostredia
- Visual Studio alebo iný .NET IDE.
- Aspose.Words pridané prostredníctvom NuGet Package Manager.
Krok za krokom sprievodca, ako odstrániť biele stránky v slove pomocou C#
Krok 1: Nastavenie prostredia
Inštalácia knižnice Aspose.Words prostredníctvom manažéra balíkov NuGet.
Install-Package Aspose.Words
Krok 2: Nahrať slovný dokument
Stiahnite si pôvodný súbor Word pomocou objektu triedy dokumentu.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
Krok 3: Odstráňte každú stránku samostatne
Prejdite cez každú stránku a vytiahnite každú stránku do samostatného dokumentu na analýzu.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
Krok 4: Analýza jednorazových dokumentov
Skontrolujte, či dokument na jednej stránke obsahuje text alebo tvary.
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;
}
Krok 5: Udržujte si zoznam prázdnych stránok
Sledujte čísla stránok obsahujúcich obsah.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
Krok 6: Pridať prázdne stránky k novému dokumentu
Vytvorte nový dokument a pripojte iba neúprosné stránky pomocou sledovaného zoznamu.
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);
}
Krok 7: Uložiť upravený dokument
Uložiť nový dokument s odstránenými bielymi stránkami.
finalDoc.Save(@"cleaned.docx");
Kompletný príklad kódu na odstránenie bielych stránok v slove pomocou C#
Nižšie je úplný vykonateľný kód príklad preukazujúci vyššie uvedené kroky:
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.");
Záver
Tento článok vysvetlil, ako odstrániť prázdne stránky v súboroch Word pomocou C#. S postupom uvedeným krokom môžete programaticky detekovať prázdne stránky a odstrániť ich, čo vedie k čistejšiemu dokumentu.