Questo breve tutorial spiega come eliminare una pagina vuota in Word utilizzando Java. Contiene i dettagli per impostare l’ambiente di sviluppo, un elenco di attività di programmazione per l’applicazione e un codice di esempio eseguibile che dimostra come eliminare una pagina vuota in Word utilizzando Java. Imparerai ad accedere a diversi tipi di contenuto dal corpo di una sezione di una pagina e a verificare l’esistenza di testo o forma al suo interno.
Passaggi per eliminare la pagina vuota in Word utilizzando Java
- Imposta l’ambiente per utilizzare Aspose.Words for Java per eliminare le pagine vuote
- Carica il Word sorgente document e ottieni il conteggio delle pagine
- Analizza tutte le pagine e ottieni i suoi text e le forme
- Salva l’elenco degli indici di pagina in cui non è presente testo o forma
- Crea un nuovo documento Word e aggiungi tutte le pagine non vuote al suo interno utilizzando l’elenco dei numeri di pagina vuoti
- Salva il file Word risultante senza pagine vuote al suo interno
Questi passaggi riassumono come rimuovere la pagina vuota in Word DOC utilizzando Java. La logica utilizzata consiste nel caricare il file di parole di origine e analizzare ciascuna delle sue pagine per salvare gli indici delle pagine vuote senza testo o forme presenti. Successivamente, generare un nuovo file Word e aggiungere tutte le pagine del file Word sorgente nel nuovo file Word i cui indici non sono presenti nell’elenco degli indici delle pagine vuote.
Codice per eliminare la pagina vuota in Word DOC utilizzando 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"); | |
} | |
} |
Questo codice di esempio mostra come rimuovere una pagina vuota in Word utilizzando Java. Abbiamo utilizzato il metodo extractPages() nella classe Document per accedere alle pagine, il metodo Sezione.getBody() per estrarre il testo e il metodo Sezione.getChildNodes() con NodeType.SHAPE per estrarre le forme sulla pagina. Se necessario, è possibile modificare questo codice per eliminare una singola pagina vuota in base al suo indice.
Questo tutorial ci ha guidato a rimuovere una pagina vuota in Word. Se desideri eliminare tutti i commenti in un file Word, fai riferimento all’articolo su come eliminare i commenti dal documento Word in Java.