# איך להסיר עמוד ריק ב-Word באמצעות C#
Αυτό το γρήγορο εγχειρίδιο εξηγεί πώς να αφαιρέσετε άδειες σελίδες από τα έγγραφα του Word (DOCX, DOC, κλπ.) χρησιμοποιώντας το C#. Η διαδικασία περιλαμβάνει την φόρτωση ενός αρχείου του Word, την ανάλυση μεμονωμένων σελίδων, την αναγνώριση άδειων σελίδων και τελικά τη δημιουργία ενός νέου εγγράφου χωρίς τις άδειες σελίδες.
Τα οφέλη της αφαίρεσης λευκών σελίδων στα έγγραφα του Word
Πληροφορίες για το καθαρό έγγραφο:- Βελτιώνει την ανάγνωση και τον επαγγελματισμό.
Μειωμένο μέγεθος αρχείου:- Αποτελεσματική αποθήκευση εξαλείφοντας τις περιττές σελίδες.
Δυνατότητα αυτοματισμού:- Ιδανικό για τον καθαρισμό μεγάλων εγγράφων αυτόματα.
Προϋποθέσεις: Προετοιμασία του περιβάλλοντος
- Visual Studio ή άλλο .NET IDE.
- Το Aspose.Words προστέθηκε μέσω του NuGet Package Manager.
Βήμα προς βήμα Οδηγός για την αφαίρεση λευκών σελίδων στο Word χρησιμοποιώντας το C#
Βήμα 1: Διαμόρφωση περιβάλλοντος
Εγκαταστήστε τη βιβλιοθήκη Aspose.Words μέσω του διαχειριστή πακέτων NuGet.
Install-Package Aspose.Words
Βήμα 2: Κατεβάστε το έγγραφο Word
Κατεβάστε το αρχείο του αρχικού σας Word χρησιμοποιώντας το αντικείμενο κατηγορίας εγγράφου.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
Βήμα 3: Αποκτήστε κάθε σελίδα ξεχωριστά
Περπατήστε μέσα από κάθε σελίδα και αφαιρέστε κάθε σελίδα σε ένα ξεχωριστό έγγραφο για ανάλυση.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
Βήμα 4: Ανάλυση εγγράφων με μία σελίδα
Ελέγξτε εάν το έγγραφο μιας σελίδας περιέχει κείμενο ή σχήματα.
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: Διατηρήστε τη λίστα των μη κενών σελίδων
Ακολουθήστε τους αριθμούς σελίδων που περιέχουν περιεχόμενο.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
Βήμα 6: Προσθήκη μη κενών σελίδων στο νέο έγγραφο
Δημιουργήστε ένα νέο έγγραφο και προσθέστε μόνο μη κενές σελίδες χρησιμοποιώντας τη λίστα παρακολούθησης.
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: Αποθηκεύστε το τροποποιημένο έγγραφο
Αποθηκεύστε το νέο έγγραφο με λευκές σελίδες αφαιρεθεί.
finalDoc.Save(@"cleaned.docx");
Συμπληρωματικό παράδειγμα κώδικα για να διαγράψετε λευκές σελίδες στο Word χρησιμοποιώντας το C#
Παρακάτω είναι το πλήρες παράδειγμα εκτελεστικού κώδικα που αποδεικνύει τα παραπάνω βήματα:
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.");
Συμπεράσματα
Αυτό το άρθρο εξηγεί πώς να αφαιρέσετε άδειες σελίδες στα αρχεία του Word χρησιμοποιώντας το C#. ακολουθώντας τα προβλεπόμενα βήματα, μπορείτε προγραμματικά να ανιχνεύσετε τις άδειες σελίδες και να τις αφαιρέσετε, οδηγώντας σε ένα καθαρότερο έγγραφο.