Den här snabba handledningsguiden om hur man tar bort en tom sida i Word med Java. Den har detaljerna för att ställa in utvecklingsmiljön, en lista över programmeringsuppgifter för applikationen och en körbar exempelkod som visar hur man tar bort tom sida i Word med Java. Du kommer att lära dig att komma åt olika typer av innehåll från brödtexten i ett avsnitt på en sida och verifiera förekomsten av text eller form i den.
Steg för att ta bort tom sida i Word med Java
- Ställ in miljön att använda Aspose.Words for Java för att radera tomma sidor
- Ladda källordet document och få dess sidantal
- Läs igenom alla sidor och få dess text och former
- Spara listan över sidindex där ingen text eller form finns
- Skapa ett nytt Word-dokument och lägg till alla icke-tomma sidor i det med hjälp av den tomma sidnummerlistan
- Spara den resulterande Word-filen utan tomma sidor i den
Dessa steg sammanfattar hur man tar bort tom sida i Word DOC med Java. Den använda logiken är att ladda källordfilen och analysera var och en av dess sidor för att spara indexen för tomma sidor utan text eller former. Skapa sedan en ny Word-fil och lägg till alla sidor från Word-källfilen i den nya Word-filen vars index inte finns i listan över tomma sidindex.
Kod för att ta bort tom sida i Word DOC med 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"); | |
} | |
} |
Den här exempelkoden visar hur man tar bort en tom sida i Word med Java. Vi använde metoden extractPages() i klassen Document för att komma åt sidorna, metoden Section.getBody() för att extrahera texten och metoden Section.getChildNodes() med NodeType.SHAPE för att extrahera formerna på sidan. Du kan ändra den här koden för att radera en enda tom sida baserat på dess index om det behövs.
Denna handledning har väglett oss att ta bort en tom sida i Word. Om du vill ta bort alla kommentarer i en Word-fil, se artikeln om hur man tar bort kommentarer från Word-dokument i Java.