Kā noņemt balto lapu Word, izmantojot C#
Šis ātrs tutorial izskaidro, kā noņemt tukšas lapas no Word dokumentiem (DOCX, DOC, utt.) izmantojot C#. Process ietver Word faila lejupielādēšanu, atsevišķu lapu analīzi, tukšu laivu identificēšanu un galu galā jaunu dokumentu izveidi bez tukšām lapām.
Priekšrocības, lai noņemtu balto lapu Word dokumentos
**Cleaner dokuments *:- Palielina lasamību un profesionalitāti.
samazināts failu izmērs:- Efektīva uzglabāšana, novēršot nevajadzīgas lapas.
Automatizācijas spējas:- Ideāls, lai automātiski attīrītu lielus dokumentus.
Priekšnoteikumi: Vides sagatavošana
- Visual Studio vai cits .NET IDE.
- Aspose.Words pievienots, izmantojot NuGet Package Manager.
Pakāpeniski ceļvedis, kā noņemt balto lapu Word, izmantojot C#
Pirmais solis: izveidot vidi
Instalējiet Aspose.Words bibliotēku, izmantojot NuGet iepakojuma vadītāju.
Install-Package Aspose.Words
2. solis: uzņemt vārda dokumentu
Lejupielādējiet savu oriģinālo Word failu, izmantojot dokumentu klases objektu.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
3. solis: Katra lapa izņemt atsevišķi
Meklējiet caur katru lapu un izrakstīt katra lapa atsevišķā dokumentā analīzei.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
4. solis: Vienlaicīgu dokumentu analīze
Pārbaudiet, vai viena lapa dokumentā ir teksts vai formas.
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. solis: saglabājiet tukšas lapas sarakstu
Sekojiet lapām, kas satur saturu.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
6. solis: Pievienojiet tukšas lapas jaunajam dokumentam
Izveidojiet jaunu dokumentu un pievienojiet tikai neskaidras lapas, izmantojot izsekoto sarakstu.
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. solis: saglabāt grozīto dokumentu
Saglabājiet jaunu dokumentu ar baltu lapu noņemšanu.
finalDoc.Save(@"cleaned.docx");
Pilns koda piemērs, lai izdzēstu balto lapu vārdā, izmantojot C#
Zemāk ir pilns izpildāmā koda piemērs, kas pierāda iepriekš minētos soļus:
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
Šajā rakstā ir izskaidrots, kā noņemt tukšas lapas Word failās, izmantojot C#. Izpildot norādītos soļus, jūs varat programmatiski atklāt tukšus lappusējus un tos dzēst, tādējādi padarot to tīrāku dokumentu.