Kaip pašalinti baltą puslapį žodžiu naudojant C#
Šis greitas mokymas paaiškina, kaip pašalinti tuščias puslapius iš Word dokumentų (DOCX, DOC, ir tt) naudojant C#. Procesas apima “Word” failo įkrovimą, atskirų puslapio analizę, tuštų tinklalapių identifikavimą ir galų gale sukurti naują dokumentą be tuščia pusle.
Nauda pašalinti baltuosius puslapius žodžio dokumentuose
„Cleaner“ dokumentai:- Gerina skaitomumą ir profesionalumą.
Sumažintas failų dydis :- Efektyvus saugojimas pašalinant nereikalingas puslapius.
Automatinis pajėgumas:- Idealus didelių dokumentų valymui automatiškai.
Žymos archyvas: paruošti aplinką
- Visual Studio arba kitas .NET IDE.
- Aspose.Words pridėta per NuGet paketų vadybininką.
Žingsnis po žingsnio vadovas, kaip pašalinti baltuosius puslapius žodžiu naudojant C#
1 žingsnis: sukurti aplinką
Įdiegti Aspose.Words biblioteką per NuGet paketų valdytoją.
Install-Package Aspose.Words
2 žingsnis: įkelkite žodžio dokumentą
Atsisiųskite savo originalų “Word” failą naudodami “Dokumento klasės objektą”.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
3 žingsnis: atskirai išimkite kiekvieną puslapį
Pasivaikščiokite per kiekvieną puslapį ir išimkite kiekvieno puslapio į atskirą dokumentą analizei.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
4 žingsnis: vieno puslapio dokumentų analizė
Patikrinkite, ar vieno puslapio dokumente yra teksto ar formų.
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 žingsnis: išlaikyti tuščių puslapių sąrašą
Stebėkite puslapio numerius, kuriuose yra turinio.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
6 žingsnis: pridėti tuščias puslapius prie naujo dokumento
Sukurkite naują dokumentą ir pridėkite tik tuščias puslapius, naudodami sekamą sąrašą.
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 žingsnis: išsaugoti pakeistą dokumentą
Išsaugokite naują dokumentą su tuščiomis puslapiomis.
finalDoc.Save(@"cleaned.docx");
Išsamus kodo pavyzdys, kaip ištrinti baltuosius puslapius žodžiu naudojant C#
Žemiau pateikiamas pilnas vykdomas kodo pavyzdys, parodantis pirmiau minėtus žingsnius:
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.");
Conclusion
Šiame straipsnyje paaiškėjo, kaip pašalinti tuščias puslapius “Word” failuose naudojant “C#”. laikydamiesi numatytų žingsnių, galite programuojamai atpažinti tuštus puslapis ir juos ištrinti, o tai lemia švaresnį dokumentą.