Как редактировать документы Word с помощью Java

Редактирование документа Word необходимо для уточнения и улучшения письменного содержимого. Независимо от того, обновляете ли вы текст, корректируете форматирование или добавляете изображения, Microsoft Word предлагает ряд инструментов для упрощения этого процесса.
В этой статье я расскажу о том, как программно редактировать документы Word с помощью библиотеки Java Word.
- Изменение текста абзаца в Word
- Изменение форматирования текста в Word
- Добавить новый абзац в Word
- Добавить изображение в Word
Установите необходимую библиотеку
Spire.Doc for Java — это универсальная библиотека, позволяющая разработчикам программно создавать, редактировать и манипулировать документами Word.
Если вы не используете Maven, скачайте jar-файл по этой ссылке и добавьте его в качестве зависимости в свое приложение. Для проектов Maven вы можете легко импортировать jar в свое приложение с помощью следующих конфигураций.

Изменение текста абзаца в Word
Spire.Doc for Java предоставляет методы для легкого доступа к разделам и параграфам в документе Word. После получения параграфа вы можете изменить его текст с помощью метода Paragraph.setText().
Следующий фрагмент кода демонстрирует, как изменить текст абзаца в документе Word.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
public class ChangeText {
public static void main(String[] args) {
// Создать новый объект документа
Document document = new Document();
// Загрузить существующий файл Word
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx");
// Получить конкретный раздел
Section section = document.getSections().get(0);
// Получить конкретный параграф
Paragraph paragraph = section.getParagraphs().get(0);
// Изменить текст параграфа
paragraph.setText("Текст этого параграфа был обновлён.");
// Сохранить документ в другой файл Word
document.saveToFile("ChanegText.docx", FileFormat.Docx);
// Освободить ресурсы
document.dispose();
}
}
Изменение форматирования текста в Word
Чтобы изменить форматирование текста в абзаце, сначала нужно получить сам абзац. Затем пройдитесь по диапазонам текста в абзаце и используйте методы объекта TextRange, чтобы изменить название шрифта, размер, цвет и стиль текста.
Следующий код является примером изменения форматирования текста в Word.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.TextRange;
import java.awt.*;
public class ChangeTextFormatting {
public static void main(String[] args) {
// Создать новый объект документа
Document document = new Document();
// Загрузить существующий файл Word
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx");
// Получить конкретный раздел
Section section = document.getSections().get(0);
// Получить конкретный параграф
Paragraph paragraph = section.getParagraphs().get(0);
// Перебрать дочерние объекты в параграфе
for (int i = 0; i < paragraph.getChildObjects().getCount(); i++)
{
// Определить, является ли дочерний объект диапазоном текста
if (paragraph.getChildObjects().get(i) instanceof TextRange)
{
// Получить конкретный диапазон текста
TextRange textRange = (TextRange)paragraph.getChildObjects().get(i);
// Установить имя шрифта
textRange.getCharacterFormat().setFontName("Times New Roman");
// Установить размер шрифта
textRange.getCharacterFormat().setFontSize(11);
// Установить цвет текста
textRange.getCharacterFormat().setTextColor(Color.blue);
// Сделать текст курсивным
textRange.getCharacterFormat().setItalic(true);
}
}
// Сохранить документ в другой файл Word
document.saveToFile("ChangeFont.docx", FileFormat.Docx);
// Освободить ресурсы
document.dispose();
}
}
Добавить новый абзац в Word
Чтобы добавить новый абзац в конец документа Word, можно воспользоваться методом Document.getLastSection().addParagraph(). Кроме того, вы можете создать объект ParagraphStyle, определяющий форматирование текста, и применить его к абзацу с помощью метода Paragraph.applyStyle().
Следующий код показывает, как добавить новый абзац с текстом в документ Word.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
public class AddParagraph {
public static void main(String[] args) {
// Создать новый объект документа
Document document = new Document();
// Загрузить существующий файл Word
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx");
// Получить последний раздел
Section lastSection = document.getLastSection();
// Добавить параграф в раздел
Paragraph paragraph = lastSection.addParagraph();
// Добавить текст в параграф
paragraph.appendText("Это новый параграф.");
// Создать стиль параграфа
ParagraphStyle style = new ParagraphStyle(document);
style.setName("FontStyle");
style.getCharacterFormat().setFontName("Times New Roman");
style.getCharacterFormat().setFontSize(12);
document.getStyles().add(style);
// Применить стиль к параграфу
paragraph.applyStyle(style.getName());
// Сохранить документ в другой файл Word
document.saveToFile("AddParagraph.docx", FileFormat.Docx);
// Освободить ресурсы
document.dispose();
}
}
Добавить изображение в Word
Чтобы добавить изображение в документ Word, достаточно воспользоваться методом Paragraph.appendPicture(). В следующем коде приведен пример.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
public class AddImage {
public static void main(String[] args) {
// Создать новый объект документа
Document document = new Document();
// Загрузить существующий файл Word
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.docx");
// Получить последний раздел
Section lastSection = document.getLastSection();
// Добавить параграф в раздел
Paragraph paragraph = lastSection.addParagraph();
// Добавить изображение в параграф
paragraph.appendPicture("C:\\Users\\Administrator\\Desktop\\Image.png");
// Сохранить документ в другой файл Word
document.saveToFile("AddImage.docx", FileFormat.Docx);
// Освободить ресурсы
document.dispose();
}
}
Заключение
В этой статье мы рассмотрели, как редактировать существующий документ Word с помощью Spire.Doc for Java. В ней мы рассмотрели, как изменять текст и форматирование текста в Word, а также как добавлять абзацы (текст) и изображения в Word. Будучи продвинутой Java-библиотекой Word, Spire.Doc for Java поддерживает множество других функций, таких как:
Создание документа Word на Java
Редактирование документа Word в Java