# Come rimuovere una pagina vuota in Word utilizzando C#
Ce tutoriel rapide explique comment supprimer les pages vides des documents Word (DOCX, DOC, etc.) en utilisant C#. Le processus implique le chargement d’un fichier Word, l’analyse des pages individuelles, l’identification des pages vides, et enfin la création d’un nouveau document sans les pages vides.
Les avantages de supprimer les pages blanches dans les documents Word
Documents de nettoyage:- Améliore la lecture et le professionnalisme.
Dimension de fichier réduite:- Un stockage efficace en éliminant les pages inutiles.
Capacité d’automatisation:- Idéal pour nettoyer les grands documents automatiquement.
Étiquette : Préparer l’environnement
- Visual Studio ou un autre .NET IDE.
- Aspose.Words a été ajouté via NuGet Package Manager.
Guide étape par étape pour supprimer les pages blanches dans Word en utilisant C#
Étape 1 : Configurer l’environnement
Installez la bibliothèque Aspose.Words via le gestionnaire de paquets NuGet.
Install-Package Aspose.Words
Étape 2 : Téléchargez le document Word
Téléchargez votre fichier Word d’origine en utilisant l’objet de classe Document.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
Étape 3 : Séparer chaque page
Passez à travers chaque page et extraisez chaque page dans un Document séparé pour l’analyse.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
Étape 4 : Analyse des documents de page unique
Vérifiez si le document d’une page contient du texte ou des formes.
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;
}
Étape 5 : Maintenir la liste des pages non vides
Suivez les numéros de pages contenant du contenu.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
Étape 6 : Ajouter des pages non vides à un nouveau document
Créez un nouveau document et appliquez uniquement des pages non vides en utilisant la liste suivi.
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);
}
Étape 7 : Enregistrer le document modifié
Sauver le nouveau document avec des pages blanches supprimées.
finalDoc.Save(@"cleaned.docx");
Exemple de code complet pour supprimer les pages blanches dans le Word en utilisant C#
Ci-dessous est l’exemple complet du code exécutable démontrant les étapes ci-dessus:
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
Cet article a expliqué comment supprimer les pages vides dans les fichiers Word en utilisant C#. En suivant les étapes fournies, vous pouvez programmatiquement détecter les pages vides et les supprimer, ce qui entraîne un document plus propre.