Kuinka poistaa valkoinen sivu Wordin avulla C#
Tämä nopea opetussuunnitelma selittää, miten poistaa tyhjiä sivuja Word-asiakirjoista (DOCX, DOC, jne.) C#: n avulla. prosessi sisältää Word-tiedoston lataamisen, yksittäisten sivujen analysoinnin, tyhjen sivujen tunnistamisen ja lopulta uuden asiakirjan luomisen ilman tyhjiä sivuja.
Hyödyt poistaa valkoiset sivut Word-asiakirjoissa
Puhdistava asiakirja:- Parannetaan lukuvuutta ja ammattimaisuutta.
Vähennetty tiedoston koko:- Tehokas tallennus poistamalla tarpeettomat sivut.
Automaattinen suorituskyky:- Ihanteellinen suurten asiakirjojen puhdistamiseen automaattisesti.
Edellytykset: Ympäristön valmistelu
- Visual Studio tai muu .NET IDE.
- Aspose.Words lisätään NuGet Package Managerin kautta.
Vaiheittainen opas valkoisten sivujen poistamiseen Wordissa C#:n avulla
Vaihe 1: Ympäristön luominen
Asenna Aspose.Words -kirjasto NuGetin paketin hallinnan kautta.
Install-Package Aspose.Words
Vaihe 2: Lataa sana-asiakirja
Lataa alkuperäinen Word-tiedosto asiakirjan luokan kohteen avulla.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
Vaihe 3: Poista jokainen sivu erikseen
Kävely kunkin sivun läpi ja poista kunkin sivun erilliseen asiakirjaan analysoimiseksi.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
Vaihe 4: Yksivuotisten asiakirjojen analysointi
Varmista, että yksi-sivuinen asiakirja sisältää tekstiä tai muotoja.
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;
}
Vaihe 5: Pidä tyhjiä sivuja
Seuraa sisältöä sisältävien sivujen numeroita.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
Vaihe 6: Lisää tyhjiä sivuja uusiin asiakirjoihin
Luo uusi asiakirja ja liitä vain epämääräisiä sivuja seurattuun luetteloon.
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);
}
Vaihe 7: Tallenna muokattu asiakirja
Tallenna uusi asiakirja, jossa valkoiset sivut poistetaan.
finalDoc.Save(@"cleaned.docx");
Täydellinen koodi esimerkki poistaa valkoiset sivut Wordin avulla C#
Alla on täydellinen toteutettavissa oleva koodi esimerkki, joka osoittaa edellä mainitut vaiheet:
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.");
johtopäätöksiä
Tässä artikkelissa selitettiin, miten poistaa tyhjiä sivuja Word-tiedostoissa C#: n avulla. noudattamalla toimenpiteitä voit ohjelmattisesti havaita tyhjiä sivuja ja poistaa ne, mikä johtaa puhtaampaan asiakirjaan.