Как да изтриете празна страница в Word с помощта на Java

Този бърз урок ръководи как да изтриете празна страница в Word с помощта на Java. Има подробности за настройка на средата за разработка, списък с програмни задачи за приложението и примерен код, който може да се изпълнява, демонстриращ как да изтриете празна страница в Word с помощта на Java. Ще се научите да осъществявате достъп до различни видове съдържание от тялото на раздел на страница и да проверявате съществуването на текст или форма в него.

Стъпки за изтриване на празна страница в Word с помощта на Java

  1. Настройте средата да използва Aspose.Words for Java за изтриване на празни страници
  2. Заредете изходния Word document и вземете неговия брой страници
  3. Разгледайте всички страници и вземете неговите text и форми
  4. Запазете списъка с индекси на страници, където няма текст или форма
  5. Създайте нов документ на Word и добавете всички непразни страници в него, като използвате списъка с номера на празни страници
  6. Запазете получения Word файл без празни страници в него

Тези стъпки обобщават как да премахнете празна страница в Word DOC с помощта на Java. Използваната логика е да се зареди изходният word файл и да се анализира всяка от неговите страници, за да се запазят индексите на празни страници без текст или фигури. Впоследствие генерирайте нов файл на Word и добавете всички страници от изходния файл на Word в новия файл на Word, чиито индекси не присъстват в списъка с индекси на празни страници.

Код за изтриване на празна страница в Word DOC с помощта на 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");
}
}

Този примерен код демонстрира как да премахнете празна страница в Word с помощта на Java. Използвахме метода extractPages() в класа Document за достъп до страниците, метода Section.getBody() за извличане на текста и метода Section.getChildNodes() с NodeType.SHAPE за извличане на формите на страницата. Можете да промените този код, за да изтриете една празна страница въз основа на нейния индекс, ако е необходимо.

Този урок ни напътства да премахнем празна страница в Word. Ако искате да изтриете всички коментари във файл на Word, вижте статията на как да изтриете коментари от Word документ в Java.

 Български