Категория

Java Добавление и изменение переменных в документах Word

2023-11-08 07:19:23

Установить с помощью Maven

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.doc</artifactId>
    <version>12.2.2</version>
</dependency>
    

Ссылки по теме

Переменные в документах Word — это тип поля, который характеризуется возможностью удобного и точного управления текстом, например, замены и удаления текста. По сравнению с функцией поиска и замены замена текста путем присвоения значений переменным выполняется быстрее и менее подвержена ошибкам. В этой статье мы покажем, как добавлять или изменять переменные в документах Word программно с помощью Spire.Doc for Java.

Установите Spire.Doc for Java

Во-первых, вам необходимо добавить файл Spire.Doc.jar в качестве зависимости в вашу программу Java. JAR-файл можно скачать по этой ссылке. Если вы используете Maven, вы можете легко импортировать файл JAR в свое приложение, добавив следующий код в файл pom.xml вашего проекта.

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>12.11.0</version>
    </dependency>
</dependencies>
    

Вставка переменных в документы Word

Поскольку переменные являются разновидностью полей Word, мы можем использовать метод Paragraph.appendField(String fieldName, FieldType.Field_Doc_Variable) для вставки переменных в документы Word, а затем использовать метод VariableCollection.add() для присвоения значений переменным. Следует отметить, что после присвоения значений переменным поля документа необходимо обновить для отображения присвоенных значений. Подробные шаги заключаются в следующем.

  • Создайте объект Document.
  • Добавьте раздел в документ с помощью метода Document.addSection().
  • Добавьте абзац в раздел, используя метод Раздел.addParagraph().
  • Добавьте переменные поля в абзац с помощью метода Paragraph.appendField(String fieldName, FieldType.Field_Doc_Variable).
  • Получите коллекцию переменных, используя метод Document.getVariables().
  • Присвойте значение переменной с помощью метода VariableCollection.add().
  • Обновите поля в документе с помощью метода Document.isUpdateFields().
  • Сохраните документ, используя метод Document.saveToFile().
  • Java
import com.spire.doc.*;
    import com.spire.doc.documents.Paragraph;
    import com.spire.doc.formatting.CharacterFormat;
    
    public class AddVariables {
        public static void main(String[] args) {
    
            //Create an object of Document
            Document document = new Document();
    
            //Add a section
            Section section = document.addSection();
    
            //Add a paragraph
            Paragraph paragraph = section.addParagraph();
    
            //Set text format
            CharacterFormat characterFormat = paragraph.getStyle().getCharacterFormat();
            characterFormat.setFontName("Times New Roman");
            characterFormat.setFontSize(14);
    
            //Set the page margin
            section.getPageSetup().getMargins().setTop(80f);
    
            //Add variable fields to the paragraph
            paragraph.appendField("Term", FieldType.Field_Doc_Variable);
            paragraph.appendText(" is an object.\r\n");
            paragraph.appendField("Term", FieldType.Field_Doc_Variable);
            paragraph.appendText(" is not a backdrop, an illusion, or an emergent phenomenon.\r\n");
            paragraph.appendField("Term", FieldType.Field_Doc_Variable);
            paragraph.appendText(" has a physical size that be measured in laboratories.");
    
            //Get the variable collection
            VariableCollection variableCollection = document.getVariables();
    
            //Assign a value to the variable
            variableCollection.add("Term", "Time");
    
            //Update the fields in the document
            document.isUpdateFields(true);
    
            //Save the document
            document.saveToFile("AddVariables.docx", FileFormat.Auto);
            document.dispose();
        }
    }

Java: Add and Change Variables in Word Documents

Изменение значения переменных в документах Word

Spire.Doc for Java предоставляет метод VariableCollection.set() для изменения значений переменных. А после обновления полей в документе все вхождения переменных будут отображать вновь присвоенное значение, что обеспечивает быструю и точную замену текста. Подробные шаги заключаются в следующем.

  • Создайте объект Document.
  • Загрузите документ Word, используя метод Document.loaFromFile().
  • Получите коллекцию переменных, используя метод Document.getVariables().
  • Присвойте новое значение определенной переменной через ее имя с помощью метода VariableCollection.set().
  • Обновите поля в документе с помощью метода Document.isUpdateFields().
  • Сохраните документ, используя метод Document.saveToFile().
  • Java
import com.spire.doc.Document;
    import com.spire.doc.FileFormat;
    import com.spire.doc.VariableCollection;
    
    public class ChangeVariableValue {
        public static void main(String[] args) {
    
            //Create an object of Document
            Document document = new Document();
    
            //Load a Word document
            document.loadFromFile("AddVariables.docx");
    
            //Get the variable collection
            VariableCollection variableCollection = document.getVariables();
    
            //Assign a new value to a variable
            variableCollection.set("Term", "The time");
    
            //Update the fields in the document
            document.isUpdateFields(true);
    
            //Save the document
            document.saveToFile("ChangeVariable.docx", FileFormat.Auto);
            document.dispose();
        }
    }

Java: Add and Change Variables in Word Documents

Подать заявку на временную лицензию

Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.

Смотрите также