Πώς να αφαιρέσετε κενή σελίδα στο Word χρησιμοποιώντας C#

Αυτός ο γρήγορος οδηγός έχει σχεδιαστεί για να εξηγήσει πώς να αφαιρέσετε κενή σελίδα στο Word χρησιμοποιώντας C# όπως DOCX, DOC κ.λπ. Παρέχει λεπτομέρειες για τη διαμόρφωση του περιβάλλοντος μαζί με τα βήματα που πρέπει να εκτελέσετε για το εργασία και ένα δείγμα κώδικα που εφαρμόζει την πλήρη λογική για διαγραφή κενού σελίδας στο Word χρησιμοποιώντας C#. Μπορείτε να εκτελέσετε αυτόν τον κώδικα χωρίς να εγκαταστήσετε λογισμικό τρίτου κατασκευαστή χρησιμοποιώντας οποιοδήποτε από τα λειτουργικά συστήματα όπως Windows, Linux ή macOS.

Βήματα για να διαγράψετε κενή σελίδα στο Word χρησιμοποιώντας C#

  1. Διαμορφώστε το έργο για να προσθέσετε τη βιβλιοθήκη Aspose.Words στο έργο
  2. Φορτώστε το αρχείο προέλευσης του Word στο αντικείμενο κλάσης Document για να αφαιρέσετε κενές σελίδες
  3. Αναλύστε όλες τις σελίδες στο έγγραφο προέλευσης και ανακτήστε κάθε σελίδα ξεχωριστά
  4. Δημιουργήστε ένα ξεχωριστό έγγραφο με κάθε σελίδα μόνο από το έγγραφο προέλευσης
  5. Αναλύστε αυτό το έγγραφο μιας σελίδας και ελέγξτε εάν οποιοδήποτε section περιέχει κάποιο κόμβο κειμένου/σχήματος ή όχι
  6. Διατηρήστε μια λίστα με όλες τις μη κενές σελίδες του αρχικού εγγράφου
  7. Προσθέστε όλες τις μη κενές σελίδες στο νέο αρχείο του Word
  8. Αποθηκεύστε αυτό το αρχείο έχοντας τις σελίδες μόνο με κάποιο κείμενο ή σχήμα

Αυτά τα βήματα παρέχουν λεπτομέρειες για να διαγράψετε την κενή σελίδα στο Word χρησιμοποιώντας C#. Αρχικά, φορτώνετε το αρχείο προέλευσης του Word και, στη συνέχεια, αναλύετε κάθε μία από τις σελίδες σε αυτό έτσι ώστε για κάθε σελίδα να δημιουργείται ένα νέο έγγραφο του Word. Απαιτείται γιατί πρέπει να αναλύσουμε κάθε σελίδα ξεχωριστά και οι δυνατότητες της κλάσης Document θα μας βοηθήσουν να αναγνωρίσουμε τις μη κενές σελίδες. Κατά τη διάρκεια της ανάλυσης, κάθε μη κενή σελίδα προστίθεται σε ένα νέο αρχείο Word που θα περιέχει όλες αυτές τις σελίδες.

Κώδικας για να διαγράψετε την κενή σελίδα στο Word χρησιμοποιώντας C#

using System.Collections;
using Aspose.Words;
namespace DeleteABlankPageInWordUsingCSharp
{
class Program
{
static void Main(string[] args) // Main function to delete a blank page in Word using CSharp
{
// Instantiate the license to avoid any trial version limitations
// and watermark in the output Word file
Aspose.Words.License licDeleteBlankPages= new Aspose.Words.License();
licDeleteBlankPages.SetLicense("Aspose.Words.lic");
// Load the Word file having blank pages in it
Document originalDocWithFewBlankPages = new Document("WordFileWithBlankPages.docx");
// Declare an array to store page numbers of the empty or blank pages
ArrayList listOfBlankPageNumbers = new ArrayList();
listOfBlankPageNumbers.Add(-1);
// Extract each page of the loaded document as a separate Word document
int totalPagesInOriginalDoc = originalDocWithFewBlankPages.PageCount;
for (int iCount = 0; iCount < totalPagesInOriginalDoc; iCount++)
{
// Create a new Word document containing the single page
Document DocWithOnePage = originalDocWithFewBlankPages.ExtractPages(iCount, 1);
// Parse through all the sections of the newly created document
// to count text segments and shapes if any
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in DocWithOnePage.Sections)
{
// Extract text from the section and also get shapes count in the newly created document
pageText = pageText + docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
// Check if the extracted page is null or not and also check if shapes count is 0 or not
// If text is blank and shapes count is 0, it means the page is blank
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
listOfBlankPageNumbers.Add(iCount);
}
listOfBlankPageNumbers.Add(totalPagesInOriginalDoc);
// Add all the non-empty pages to the final document
Document nonEmptyDocument = (Document)originalDocWithFewBlankPages.Clone(false);
nonEmptyDocument.RemoveAllChildren();
for (int iCount = 1; iCount < listOfBlankPageNumbers.Count; iCount++)
{
int index = (int)listOfBlankPageNumbers[iCount - 1] + 1;
int count = (int)listOfBlankPageNumbers[iCount] - index;
if (count > 0)
nonEmptyDocument.AppendDocument(originalDocWithFewBlankPages.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
// Save the output file having all the non-empty pages
nonEmptyDocument.Save(@"NonEmptyPages.docx");
System.Console.WriteLine("Done");
}
}
}

Αυτός ο κώδικας για την κατάργηση κενού σελίδας από το έγγραφο του Word χρησιμοποιώντας C# περιγράφει την πλήρη λογική όπου κάθε σελίδα του αρχείου προέλευσης του Word αποθηκεύεται σε ένα νέο αρχείο Word και στη συνέχεια αναλύεται για οποιοδήποτε περιεχόμενο σε αυτό. Κατά τη διάρκεια αυτής της διαδικασίας, οι κεφαλίδες και τα υποσέλιδα δεν λαμβάνονται υπόψη, ωστόσο μπορείτε να συμπεριλάβετε και αυτά. Αφού αναλυθούν όλες οι σελίδες και οι αριθμοί τους αποθηκευτούν σε έναν πίνακα, αυτός ο πίνακας χρησιμοποιείται για την προσθήκη όλων αυτών των σελίδων σε ένα νέο αρχείο Word.

Σε αυτό το σεμινάριο, αφαιρέσαμε όλες τις κενές σελίδες από ένα αρχείο Word. Εάν θέλετε να μάθετε κάποιες άλλες λειτουργίες, όπως η μετατροπή εγγράφων του Word σε HTML, ανατρέξτε στο άρθρο στο πώς να μετατρέψετε έγγραφο του Word σε HTML χρησιμοποιώντας C#.

 Ελληνικά