Ez a gyors oktatóanyag bemutatja, hogyan lehet törölni egy üres oldalt a Word alkalmazásban Java használatával. Tartalmazza a fejlesztői környezet beállításának részleteit, az alkalmazás programozási feladatainak listáját, valamint egy futtatható mintakódot, amely bemutatja, hogyan lehet üres oldalakat törölni a Word programban Java használatával. Megtanulod, hogyan érhetsz el különböző típusú tartalmakat egy oldal szakaszának törzséből, és ellenőrizheted a szöveg vagy alakzat meglétét.
Az üres oldal törlésének lépései a Word programban Java használatával
- Állítsa be a környezetet úgy, hogy az üres oldalak törléséhez használja a Aspose.Words for Java elemet
- Töltse be a forrásszót document, és kérje le az oldalak számát
- Elemezze át az összes oldalt, és kapja meg a text és alakzatait
- Mentse el az oldalindexek listáját, ahol nincs szöveg vagy alakzat
- Hozzon létre egy új Word-dokumentumot, és adja hozzá az összes nem üres oldalt az üres oldalszámlista segítségével
- Mentse el az eredményül kapott Word-fájlt, amelyben nincsenek üres oldalak
Ezek a lépések összefoglalják az üres oldal eltávolításának módját a Word DOC-ban Java használatával. Az alkalmazott logika az, hogy betölti a forrásszófájlt, és elemzi az egyes oldalakat, hogy elmentse az üres oldalak indexeit, amelyekben nincs szöveg vagy alakzat. Ezt követően hozzon létre egy új Word-fájlt, és adja hozzá a Word forrásfájlból származó összes oldalt az új Word-fájlhoz, amelynek indexei nem szerepelnek az üres oldalindexek listájában.
Kód az üres oldal törléséhez a Word DOC-ban Java használatával
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"); | |
} | |
} |
Ez a mintakód bemutatja, hogyan lehet eltávolítani egy üres oldalt a Wordben Java használatával. Az oldalak eléréséhez a Document osztályban az extractPages() metódust, a szöveg kibontásához a Section.getBody() metódust, a NodeType.SHAPE segítségével pedig a Section.getChildNodes() metódust használtuk az oldalon lévő alakzatok kinyeréséhez. Szükség esetén módosíthatja ezt a kódot úgy, hogy töröljön egyetlen üres oldalt az indexe alapján.
Ez az oktatóanyag arra vezetett minket, hogy eltávolítsunk egy üres oldalt a Wordben. Ha törölni szeretné egy Word-fájl összes megjegyzését, olvassa el a(z) hogyan lehet megjegyzéseket törölni a Word dokumentumból Java nyelven cikket.