Как добавлять, изменять или удалять текстовые поля в Word на Java
Текстовые поля в Microsoft Word — это универсальные инструменты, которые улучшают макет и организацию документов. Они позволяют выделять важную информацию, создавать визуально привлекательные дизайны или эффективно разделять содержимое. Независимо от того, хотите ли вы добавить новые текстовые поля для дополнительной информации, обновить существующие, чтобы отразить изменения, или удалить те, которые больше не нужны, освоение этих функций может значительно улучшить презентацию вашего документа.
Эта статья демонстрирует, как добавлять, обновлять или удалять текстовые поля в Word с использованием библиотеки Spire.Doc for Java.-
- Добавление текстовых полей в Word
- Обновление текстовых полей в Word
- Удалить текстовые поля из Word
Установите компонент
Если вы создаете проект с использованием Maven, вы можете легко
импортировать jar в свое приложение, используя следующие конфигурации. Для
проектов, не использующих Maven, загрузите jar-файл по этой ссылке и
добавьте его в качестве зависимости в ваше приложение.
Добавление текстовых полей в Word
Spire.Doc for Java предоставляет метод Paragraph.appendTextBox(float width, float height) для вставки текстового поля в указанный абзац. Следующий код демонстрирует, как добавить текстовое поле с форматированием в документ Word.
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextBox;
import com.spire.doc.fields.TextRange;
import java.awt.*;
public class InsertTextbox {
public static void main(String[] args) {
// Создание экземпляра документа
Document doc = new Document();
// Загрузка документа Word
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Input.docx");
// Добавление текстового поля
TextBox tb = doc.getSections().get(0).addParagraph().appendTextBox(120f, 320f);
// Установка позиции текстового поля
tb.getFormat().setHorizontalOrigin(HorizontalOrigin.Right_Margin_Area);
tb.getFormat().setHorizontalPosition(-100f);
tb.getFormat().setVerticalOrigin(VerticalOrigin.Page);
tb.getFormat().setVerticalPosition(130f);
// Установка цвета границы и цвета заливки текстового поля
tb.getFormat().setLineColor(Color.BLUE);
tb.getFormat().setFillColor(new Color(203,234,253));
// Вставка текста в текстовое поле как второго абзаца
Paragraph para = tb.getBody().addParagraph();
TextRange textRange = para.appendText("Это текстовое поле.");
// Установка выравнивания для абзаца
para.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
// Установка шрифта текста
textRange.getCharacterFormat().setFontName("Times New Roman");
textRange.getCharacterFormat().setFontSize(12f);
textRange.getCharacterFormat().setItalic(true);
// Сохранение в файл
doc.saveToFile("InsertTextBox.docx", FileFormat.Docx_2013);
}
}
Обновление текстовых полей в Word
Чтобы изменить текстовое поле, сначала удалите его существующее содержимое с помощью метода TextBox.getChildObjects.clear(). Затем создайте новый абзац и присвойте ему нужный текст.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.TextBox;
import com.spire.doc.fields.TextRange;
public class UpdateTextbox {
public static void main(String[] args) {
// Создание объекта документа
Document document = new Document();
// Загрузка файла Word
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\Input.docx");
// Получение конкретного текстового поля
TextBox textBox = document.getTextBoxes().get(0);
// Удаление дочерних объектов текстового поля
textBox.getChildObjects().clear();
// Добавление нового абзаца в текстовое поле
Paragraph paragraph = textBox.getBody().addParagraph();
// Установка межстрочного интервала
paragraph.getFormat().setLineSpacing(15f);
// Добавление текста в абзац
TextRange textRange = paragraph.appendText("Текст в этом текстовом поле был обновлён.");
// Установка размера шрифта
textRange.getCharacterFormat().setFontSize(15f);
// Сохранение документа в другой файл Word
document.saveToFile("UpdateTextbox.docx", FileFormat.Docx_2019);
// Освобождение ресурсов
document.dispose();
}
}
Удалить текстовые поля из Word
Spire.Doc for Java предоставляет метод Document.getTextBoxes().removeAt() для удаления указанного текстового поля по индексу. Если вы хотите удалить все текстовые поля из документа Word, используйте метод Document.getTextBoxes().clear().
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class DeleteTextbox {
public static void main(String[] args) {
// Создание экземпляра документа
Document doc = new Document();
// Загрузка документа Word
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Input.docx");
// Удаление текстового поля по индексу
doc.getTextBoxes().removeAt(0);
// Удаление всех текстовых полей
//doc.getTextBoxes().clear();
// Сохранение в файл
doc.saveToFile("RemoveTextbox.docx", FileFormat.Docx);
}
}
Pезюме
В этой статье показано, как добавлять, обновлять и удалять текстовые поля в документе Word с помощью Spire.Doc for Java. Эта библиотека поддерживает множество других функций, таких как:
Создание документа Word на Java
Редактирование документа Word в Java