Hvordan man fjerner hvid side i Word ved hjælp af C#
Denne hurtige tutorial forklarer, hvordan man fjerner tomme sider fra Word-dokumenter (DOCX, DOC, etc.) ved hjælp af C#. Processen involverer opladning af en Word-fil, analyse af individuelle sider, identificering af tomme sider og endelig oprettelse af et nyt dokument uden de tomme sider.
Fordele ved at fjerne hvide sider i Word-dokumenter
Der er tale om ”Cleaner Document:- Forbedrer læsbarhed og professionalisme.
Reduceret filstørrelse:- Effektiv opbevaring ved at fjerne unødvendige sider.
Automatisering af kapacitet:- Ideel til automatisk rengøring af store dokumenter.
Forside: Forberedelse af miljøet
- Visual Studio eller andre .NET IDE.
- Aspose.Words tilføjes via NuGet Package Manager.
Step-by-step guide til at fjerne hvide sider i Word ved hjælp af C#
Trin 1: Indstill miljøet
Installere Aspose.Words-biblioteket gennem NuGet-pakkeadministratoren.
Install-Package Aspose.Words
Trin 2: Lad orddokumentet op
Download din originale Word-fil ved hjælp af dokumentklasseobjektet.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
Trin 3: Vælg hver side separat
Gå gennem hver side og uddrag hver side i et separat dokument for analyse.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
Trin 4: Analyse enkeltsider dokumenter
Kontrollér, om dokumentet på én side indeholder tekst eller former.
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;
}
Trin 5: Opbevar en liste over ikke tomme sider
Hold spor af siderne, der indeholder indhold.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
Trin 6: Tilføj ikke tomme sider til et nyt dokument
Skab et nyt dokument og vedhæft kun ikke-vældende sider ved hjælp af den sporede liste.
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);
}
Steg 7: Save det ændrede dokument
Save det nye dokument med hvide sider fjernet.
finalDoc.Save(@"cleaned.docx");
Fuld kodeeksempel til at slette hvide sider i Word ved hjælp af C#
Nedenfor er den komplette eksempler på eksekverbar kode, der viser de ovennævnte trin:
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.");
Konklusion
Denne artikel forklarede, hvordan man fjerner tomme sider i Word-filer ved hjælp af C#. Ved at følge de foreskrevne trin, kan du programmeret opdage tomme sider og fjerne dem, hvilket resulterer i en renere dokument. Du kan yderligere udforske Aspose.Words for mere Word-dokument manipulation opgaver.