Java создает документ Word

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

Конфигурация среды


Установите пакет jar через репозиторий Maven, и код для настройки файла pom.xml выглядит следующим образом:

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

Код Java

import com.spire.doc.*;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
import com.spire.doc.fields.DocPicture;

import java.awt.*;

public class CreateWordDocument {
    public static void main(String[] args){
        //Создать документ Word
        Document document = new Document();

        //Добавить раздел
        Section section = document.addSection();

        //Добавить 4 абзаца в раздел
        Paragraph para1 = section.addParagraph();
        para1.appendText("Земля́");

        Paragraph para2 = section.addParagraph();
        para2.appendText("третья по удалённости от Солнца планета Солнечной системы. "+
                "Самая плотная, пятая по диаметру и массе среди всех планет и крупнейшая среди планет земной группы, в которую входят также Меркурий, Венера и Марс. "+
                "Единственное известное человеку в настоящее время тело Солнечной системы в частности и Вселенной вообще, населённое живыми организмами.");

        Paragraph para3 = section.addParagraph();
        para3.appendText("В публицистике и научно-популярной литературе могут использоваться синонимические термины — "+
                "мир, голубая планета");

        //Добавьте картинки в абзац 4
        Paragraph para4 = section.addParagraph();
        DocPicture picture = para4.appendPicture("pic2.jpg");
        //Установить ширину изображения
        picture.setWidth(300f);
        //Установить высоту изображения
        picture.setHeight(250f);

        //Используйте первый абзац в качестве заголовка и отформатируйте заголовок
        ParagraphStyle style1 = new ParagraphStyle(document);
        style1.setName("titleStyle");
        style1.getCharacterFormat().setBold(true);
        style1.getCharacterFormat().setTextColor(Color.BLUE);
        style1.getCharacterFormat().setFontName("Arial");
        style1.getCharacterFormat().setFontSize(12f);
        document.getStyles().add(style1);
        para1.applyStyle("titleStyle");

        //Установите формат абзацев 2 и 3
        ParagraphStyle style2 = new ParagraphStyle(document);
        style2.setName("paraStyle");
        style2.getCharacterFormat().setFontName("Arial");
        style2.getCharacterFormat().setFontSize(11f);
        document.getStyles().add(style2);
        para2.applyStyle("paraStyle");
        para3.applyStyle("paraStyle");

        //Установите абзац 1 и абзац 4 для выравнивания по центру по горизонтали
        para1.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
        para4.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

        //Установите отступ начала второго и третьего абзацев
        para2.getFormat().setFirstLineIndent(25f);
        para3.getFormat().setFirstLineIndent(25f);

        //Установите пробел после абзаца 1, 2 и 3
        para1.getFormat().setAfterSpacing(15f);
        para2.getFormat().setAfterSpacing(10f);
        para3.getFormat().setAfterSpacing(10f);

        //Сохраните документ
        document.saveToFile("Word Document.docx", FileFormat.Docx);
    }
}

image
Tags:
java, word

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.