Как удалить пустую страницу в 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 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 для доступа к страницам, метод Раздел.getBody() для извлечения текста и метод Раздел.getChildNodes() с NodeType.SHAPE для извлечения фигур на странице. При необходимости вы можете изменить этот код, чтобы удалить одну пустую страницу на основе ее индекса.

Это руководство помогло нам удалить пустую страницу в Word. Если вы хотите удалить все комментарии в файле Word, обратитесь к статье как удалить комментарии из документа Word на Java.

 Русский