Ce didacticiel rapide explique comment supprimer une page vierge dans Word à l’aide de Java. Il contient les détails nécessaires pour définir l’environnement de développement, une liste de tâches de programmation pour l’application et un exemple de code exécutable démontrant comment supprimer une page vide dans Word à l’aide de Java. Vous apprendrez à accéder à différents types de contenu à partir du corps d’une section sur une page et à vérifier l’existence de texte ou de forme dans celle-ci.
Étapes pour supprimer une page vide dans Word à l’aide de Java
- Configurez l’environnement pour utiliser Aspose.Words for Java pour supprimer les pages vierges
- Chargez le mot source document et obtenez son nombre de pages
- Analysez toutes les pages et obtenez ses text et ses formes
- Enregistrez la liste des index de pages où aucun texte ou forme n’est présent
- Créez un nouveau document Word et ajoutez-y toutes les pages non vides à l’aide de la liste des numéros de pages vierges
- Enregistrez le fichier Word résultant ne contenant aucune page vide
Ces étapes résument comment supprimer une page vierge dans Word DOC à l’aide de Java. La logique utilisée consiste à charger le fichier Word source et à analyser chacune de ses pages pour enregistrer les index des pages vierges sans texte ni forme. Par la suite, générez un nouveau fichier Word et ajoutez toutes les pages du fichier Word source dans le nouveau fichier Word dont les index ne sont pas présents dans la liste des index des pages vides.
Code pour supprimer une page vierge dans Word DOC à l’aide de Java
import java.util.ArrayList; | |
import com.aspose.words.*; | |
public class Main | |
{ | |
public static void main(String[] args) throws Exception // Delete blank pages in Word files using Java | |
{ | |
// Set the licenses | |
new License().setLicense("License.lic"); | |
// Load the source Word file | |
Document originalDocWithFewBlankPages = new Document("WordFileWithBlankPages.docx"); | |
// Declare list for empty pages | |
ArrayList<Integer> listOfBlankPageNumbers = new ArrayList<>(); | |
listOfBlankPageNumbers.add(-1); | |
// Get the page count of the existing Word document | |
int totalPagesInOriginalDoc = originalDocWithFewBlankPages.getPageCount(); | |
// Iterate through all the pages | |
for (int iCount = 0; iCount < totalPagesInOriginalDoc; iCount++) | |
{ | |
// Create a new document using each page | |
Document DocWithOnePage = originalDocWithFewBlankPages.extractPages(iCount, 1); | |
// Get text and shapes count on the page | |
int shapesCounter = 0; | |
String pageText = ""; | |
for (Section docSection : DocWithOnePage.getSections()) | |
{ | |
pageText = pageText + docSection.getBody().toString(SaveFormat.TEXT); | |
shapesCounter += docSection.getBody().getChildNodes(NodeType.SHAPE, true).getCount(); | |
} | |
// Check if the text is empty and no shape is there, save the page index in the list | |
pageText = pageText.trim(); | |
if((pageText.isEmpty() || pageText == null || pageText.length() == 0) && shapesCounter == 0) | |
listOfBlankPageNumbers.add(iCount); | |
} | |
listOfBlankPageNumbers.add(totalPagesInOriginalDoc); | |
// Create a new document where pages with some content are added | |
Document nonEmptyDocument = (Document)originalDocWithFewBlankPages.deepClone(false); | |
nonEmptyDocument.removeAllChildren(); | |
for (int iCount = 1; iCount < listOfBlankPageNumbers.size(); iCount++) | |
{ | |
int index = (int)listOfBlankPageNumbers.get(iCount - 1) + 1; | |
int count = (int)listOfBlankPageNumbers.get(iCount) - index; | |
if (count > 0) | |
nonEmptyDocument.appendDocument(originalDocWithFewBlankPages.extractPages(index, count), ImportFormatMode.KEEP_SOURCE_FORMATTING); | |
} | |
// Save the output file having all the non-empty pages | |
nonEmptyDocument.save("NonEmptyPages.docx"); | |
System.out.println("Done"); | |
} | |
} |
Cet exemple de code montre comment supprimer une page vierge dans Word à l’aide de Java. Nous avons utilisé la méthode extractPages() dans la classe Document pour accéder aux pages, la méthode Section.getBody() pour extraire le texte et la méthode Section.getChildNodes() avec NodeType.SHAPE pour extraire les formes de la page. Vous pouvez modifier ce code pour supprimer une seule page vierge en fonction de son index si nécessaire.
Ce tutoriel nous a guidé pour supprimer une page vierge dans Word. Si vous souhaitez supprimer tous les commentaires d’un fichier Word, référez-vous à l’article sur comment supprimer des commentaires d’un document Word en Java.