Как стать автором
Обновить

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
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.