Учебники

Apache POI Word — Краткое руководство

Apache POI Word — Обзор

Часто для создания справочных документов в формате файла Microsoft Word требуется программное приложение. Иногда даже ожидается, что приложение получит файлы Word в качестве входных данных.

Любой Java-программист, который хочет создавать файлы MS-Office в качестве выходных данных, должен использовать для этого предопределенный API только для чтения.

Что такое Apache POI?

Apache POI — это популярный API, который позволяет программистам создавать, изменять и отображать файлы MS-Office с помощью программ на Java. Это библиотека с открытым исходным кодом, разработанная и распространяемая Apache Software Foundation для разработки или изменения файлов MS-Office с использованием программы Java. Он содержит классы и методы для декодирования введенных пользователем данных или файла в документы MS-Office.

Компоненты Apache POI

Apache POI содержит классы и методы для работы со всеми составными документами OLE2 MS-Office. Список компонентов этого API приведен ниже —

  • POIFS (Файловая система реализации плохой обфускации) — этот компонент является основным фактором всех других элементов POI. Он используется для явного чтения разных файлов.

  • HSSF (ужасный формат электронной таблицы) — используется для чтения и записи в формате .xls файлов MS-Excel.

  • XSSF (XML SpreadSheet Format) — используется для формата файлов .xlsx в MS-Excel.

  • HPSF (формат набора ужасных свойств) — используется для извлечения наборов свойств из файлов MS-Office.

  • HWPF (формат ужасного текстового процессора) — используется для чтения и записи файлов расширений .doc MS-Word.

  • XWPF (XML-формат текстового процессора) — используется для чтения и записи файлов расширения .docx MS-Word.

  • HSLF (ужасный формат макета слайда) — используется для чтения, создания и редактирования презентаций PowerPoint.

  • HDGF (формат Horrible DiaGram) — содержит классы и методы для двоичных файлов MS-Visio.

  • HPBF (формат Horrible PuBlisher) — используется для чтения и записи файлов MS-Publisher.

POIFS (Файловая система реализации плохой обфускации) — этот компонент является основным фактором всех других элементов POI. Он используется для явного чтения разных файлов.

HSSF (ужасный формат электронной таблицы) — используется для чтения и записи в формате .xls файлов MS-Excel.

XSSF (XML SpreadSheet Format) — используется для формата файлов .xlsx в MS-Excel.

HPSF (формат набора ужасных свойств) — используется для извлечения наборов свойств из файлов MS-Office.

HWPF (формат ужасного текстового процессора) — используется для чтения и записи файлов расширений .doc MS-Word.

XWPF (XML-формат текстового процессора) — используется для чтения и записи файлов расширения .docx MS-Word.

HSLF (ужасный формат макета слайда) — используется для чтения, создания и редактирования презентаций PowerPoint.

HDGF (формат Horrible DiaGram) — содержит классы и методы для двоичных файлов MS-Visio.

HPBF (формат Horrible PuBlisher) — используется для чтения и записи файлов MS-Publisher.

Этот учебник проведет вас через процесс работы с файлами MS-Word с использованием Java. Поэтому обсуждение ограничивается компонентами HWPF и XWPF.

Примечание. Старые версии двоичных файлов формата поддержки POI, такие как DOC, XLS, PPT, ETC. ВЕРСИЯ 3.5 ​​ВПЕРЕД, POI ПОДДЕРЖИВАЕТ ФОРМАТЫ OOXML-ФАЙЛОВ MS-OFFICE ТАКИМИ КАК DOCX, XLSX, PPTX, ETC.

Apache POI Word — Установка

В этой главе рассказывается о настройке Apache POI в системах на базе Windows и Linux. Apache POI можно легко установить и интегрировать в текущую среду Java, выполнив несколько простых шагов без каких-либо сложных процедур настройки. Администрация пользователя требуется при установке.

Системные Требования

JDK Java SE 2 JDK 1.5 или выше
объем памяти 1 ГБ ОЗУ (рекомендуется)
Дисковое пространство Нет минимальных требований
Версия операционной системы Windows XP или выше, Linux

Давайте теперь перейдем к этапам установки Apache POI.

Шаг 1. Проверьте вашу установку Java

Прежде всего, вам необходимо установить Java Software Development Kit (SDK) в вашей системе. Чтобы убедиться в этом, выполните любую из двух команд, упомянутых ниже, в зависимости от платформы, на которой вы работаете.

Если установка Java была выполнена правильно, то на ней отобразится текущая версия и спецификация вашей установки Java. Пример вывода приведен в следующей таблице:

Платформа команда Пример вывода
Windows

Откройте командную консоль и введите —

\> Java-версия

Java версия «1.7.0_60»

Среда выполнения Java (TM) SE (сборка 1.7.0_60-b19)

64-разрядная серверная виртуальная машина Java Hotspot (TM) (сборка 24.60-b09, смешанный режим)

Linux

Откройте командный терминал и введите —

$ java – версия

Java-версия «1.7.0_25»

Открытая среда выполнения JDK (rhel-2.3.10.4.el6_4-x86_64)

Откройте виртуальную машину 64-разрядного сервера JDK (сборка 23.7-b01, смешанный режим)

Откройте командную консоль и введите —

\> Java-версия

Java версия «1.7.0_60»

Среда выполнения Java (TM) SE (сборка 1.7.0_60-b19)

64-разрядная серверная виртуальная машина Java Hotspot (TM) (сборка 24.60-b09, смешанный режим)

Откройте командный терминал и введите —

$ java – версия

Java-версия «1.7.0_25»

Открытая среда выполнения JDK (rhel-2.3.10.4.el6_4-x86_64)

Откройте виртуальную машину 64-разрядного сервера JDK (сборка 23.7-b01, смешанный режим)

  • Мы предполагаем, что читатели этого руководства установили Java SDK версии 1.7.0_60 в своей системе.

  • Если у вас нет Java SDK, загрузите его текущую версию с https://www.oracle.com/technetwork/java/javase/downloads/index.html и установите его.

Мы предполагаем, что читатели этого руководства установили Java SDK версии 1.7.0_60 в своей системе.

Если у вас нет Java SDK, загрузите его текущую версию с https://www.oracle.com/technetwork/java/javase/downloads/index.html и установите его.

Шаг 2. Установите среду Java

Установите переменную среды JAVA_HOME, чтобы она указывала на местоположение базовой директории, где установлена ​​Java на вашем компьютере. Например,

Платформа Описание
Windows Установите JAVA_HOME в C: \ ProgramFiles \ java \ jdk1.7.0_60
Linux Экспорт JAVA_HOME = / usr / local / java-current

Добавьте полный путь расположения компилятора Java к системному пути.

Платформа Описание
Windows Добавьте строку «C: \ Program Files \ Java \ jdk1.7.0_60 \ bin» в конец системной переменной PATH.
Linux Экспорт PATH = $ PATH: $ JAVA_HOME / bin /

Выполните команду java — version из командной строки, как описано выше.

Шаг 3: Установите Apache POI Library

Загрузите последнюю версию Apache POI по адресу https://poi.apache.org/download.html и разархивируйте его содержимое в папку, из которой необходимые библиотеки могут быть связаны с вашей программой Java. Предположим, что файлы собраны в папке на диске C.

На следующих рисунках показаны каталоги и файловая структура внутри загруженной папки:

Jar Hierarchy1

Jar Hierarchy2

Добавьте полный путь к пяти банкам, как показано на изображении выше, к CLASSPATH.

Платформа Описание
Windows

Добавьте следующие строки в конец пользовательской переменной CLASSPATH —

«C: \ пои-3,9 \ пои-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-схемы-3.9-20121203.jar;»

«C: \ пои-3,9 \ OOXML Пб \ dom4j-1.6.1.jar;»

«C:. \ Пои-3,9 \ OOXML Пб \ XMLBeans-2.3.0.jar;»;

Linux

Экспортировать CLASSPATH = $ CLASSPATH:

/usr/share/poi-3.9/poi-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-schemas-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-3.9-20121203.tar:

/usr/share/poi-3.9/ooxml-lib/dom4j-1.6.1.tar:

/usr/share/poi-3.9/ooxml-lib/xmlbeans-2.3.0.tar

Добавьте следующие строки в конец пользовательской переменной CLASSPATH —

«C: \ пои-3,9 \ пои-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-схемы-3.9-20121203.jar;»

«C: \ пои-3,9 \ OOXML Пб \ dom4j-1.6.1.jar;»

«C:. \ Пои-3,9 \ OOXML Пб \ XMLBeans-2.3.0.jar;»;

Экспортировать CLASSPATH = $ CLASSPATH:

/usr/share/poi-3.9/poi-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-schemas-3.9-20121203.tar:

/usr/share/poi-3.9/poi-ooxml-3.9-20121203.tar:

/usr/share/poi-3.9/ooxml-lib/dom4j-1.6.1.tar:

/usr/share/poi-3.9/ooxml-lib/xmlbeans-2.3.0.tar

Apache POI Word — основные классы

В этой главе рассказывается о классах и методах Apache POI для управления документом Word.

Документ

Это маркерный интерфейс (интерфейс не содержит никаких методов), который уведомляет о том, что реализованный класс может создавать текстовый документ.

XWPFDocument

Это класс в пакете org.apache.poi.xwpf.usermodel . Он используется для создания документа MS-Word с форматом файла .docx.

Методы класса

Sr.No. Метод и описание
1

совершить ()

Сохраняет и сохраняет документ.

2

createParagraph ()

Добавляет новый абзац к этому документу.

3

CreateTable ()

Создает пустую таблицу с одной строкой и одним столбцом по умолчанию.

4

createTOC ()

Создает оглавление для документа Word.

5

getParagraphs ()

Возвращает параграф (ы), который содержит текст верхнего или нижнего колонтитула.

6

GetStyle ()

Возвращает используемый объект стилей.

совершить ()

Сохраняет и сохраняет документ.

createParagraph ()

Добавляет новый абзац к этому документу.

CreateTable ()

Создает пустую таблицу с одной строкой и одним столбцом по умолчанию.

createTOC ()

Создает оглавление для документа Word.

getParagraphs ()

Возвращает параграф (ы), который содержит текст верхнего или нижнего колонтитула.

GetStyle ()

Возвращает используемый объект стилей.

Остальные методы этого класса см. В полном документе API по адресу —

Пакет org.apache.poi.openxml4j.opc.internal .

XWPFParagraph

Это класс в пакете org.apache.poi.xwpf.usermodel и используется для создания абзаца в текстовом документе. Этот экземпляр также используется для добавления всех типов элементов в документ Word.

Методы класса

Sr.No. Метод и описание
1

createRun ()

Добавляет новый прогон к этому абзацу.

2

getAlignment ()

Возвращает выравнивание абзаца, которое должно применяться к тексту в этом абзаце.

3

setAlignment (ParagraphAlignment align)

Определяет выравнивание абзаца, которое должно применяться к тексту в этом абзаце.

4

setBorderBottom (Граница границы)

Определяет границу, которая должна отображаться под набором абзацев, которые имеют одинаковый набор настроек границ абзаца.

5

setBorderLeft (Граница границы)

Определяет границу, которая должна отображаться в левой части страницы вокруг указанного абзаца.

6

setBorderRight (Граница границы)

Определяет границу, которая должна отображаться в правой части страницы вокруг указанного абзаца.

7

setBorderTop (Граница границы)

Определяет границу, которая должна отображаться над набором абзацев с одинаковым набором настроек границ абзаца.

createRun ()

Добавляет новый прогон к этому абзацу.

getAlignment ()

Возвращает выравнивание абзаца, которое должно применяться к тексту в этом абзаце.

setAlignment (ParagraphAlignment align)

Определяет выравнивание абзаца, которое должно применяться к тексту в этом абзаце.

setBorderBottom (Граница границы)

Определяет границу, которая должна отображаться под набором абзацев, которые имеют одинаковый набор настроек границ абзаца.

setBorderLeft (Граница границы)

Определяет границу, которая должна отображаться в левой части страницы вокруг указанного абзаца.

setBorderRight (Граница границы)

Определяет границу, которая должна отображаться в правой части страницы вокруг указанного абзаца.

setBorderTop (Граница границы)

Определяет границу, которая должна отображаться над набором абзацев с одинаковым набором настроек границ абзаца.

Остальные методы этого класса см. В полном документе API по адресу —

Документация по POI API

XWPFRun

Это класс в пакете org.apache.poi.xwpf.usermodel и используется для добавления области текста в абзац.

Методы класса

Sr.No. Метод и описание
1

addBreak ()

Указывает, что перерыв должен быть размещен в текущем местоположении в содержимом прогона.

2

addTab ()

Указывает, что вкладка должна быть размещена в текущем местоположении в содержимом прогона.

3

setColor (java.lang.String rgbStr)

Устанавливает цвет текста.

4

setFontSize (int size)

Определяет размер шрифта, который должен применяться ко всем некомплексным символам скрипта в содержимом этого прогона при отображении.

5

setText (значение java.lang.String)

Устанавливает текст этого текстового прогона.

6

setBold (логическое значение)

Указывает, должно ли свойство bold применяться ко всем не сложным символам сценария в содержимом этого прогона при отображении в документе.

addBreak ()

Указывает, что перерыв должен быть размещен в текущем местоположении в содержимом прогона.

addTab ()

Указывает, что вкладка должна быть размещена в текущем местоположении в содержимом прогона.

setColor (java.lang.String rgbStr)

Устанавливает цвет текста.

setFontSize (int size)

Определяет размер шрифта, который должен применяться ко всем некомплексным символам скрипта в содержимом этого прогона при отображении.

setText (значение java.lang.String)

Устанавливает текст этого текстового прогона.

setBold (логическое значение)

Указывает, должно ли свойство bold применяться ко всем не сложным символам сценария в содержимом этого прогона при отображении в документе.

Остальные методы этого класса см. В полном документе API по адресу —

Документация по POI API

XWPFStyle

Это класс в пакете org.apache.poi.xwpf.usermodel и используется для добавления различных стилей к элементам объекта в текстовом документе.

Методы класса

Sr.No. Метод и описание
1

getNextStyleID ()

Он используется для получения StyleID следующего стиля.

2

getStyleId ()

Используется для получения StyleID стиля.

3

getStyles ()

Используется для получения стилей.

4

setStyleId (java.lang.String styleId)

Используется для установки styleID.

getNextStyleID ()

Он используется для получения StyleID следующего стиля.

getStyleId ()

Используется для получения StyleID стиля.

getStyles ()

Используется для получения стилей.

setStyleId (java.lang.String styleId)

Используется для установки styleID.

Остальные методы этого класса см. В полном документе API по адресу —

Документация по POI API

XWPFTable

Это класс в пакете org.apache.poi.xwpf.usermodel и используется для добавления табличных данных в текстовый документ.

Методы класса

Sr.No. Метод и описание
1

addNewCol ()

Добавляет новый столбец для каждой строки в этой таблице.

2

addRow (строка XWPFTableRow, int pos)

Добавляет новую строку в таблицу в позиции поз.

3

createRow ()

Создает новый объект XWPFTableRow с количеством ячеек, равным количеству столбцов, определенных в данный момент.

4

setWidth (int width)

Устанавливает ширину столбца.

addNewCol ()

Добавляет новый столбец для каждой строки в этой таблице.

addRow (строка XWPFTableRow, int pos)

Добавляет новую строку в таблицу в позиции поз.

createRow ()

Создает новый объект XWPFTableRow с количеством ячеек, равным количеству столбцов, определенных в данный момент.

setWidth (int width)

Устанавливает ширину столбца.

Остальные методы этого класса см. В полном документе API по адресу: Документация по POI API.

XWPFWordExtractor

Это класс в пакете org.apache.poi.xwpf.extractor . Это базовый класс синтаксического анализатора, используемый для извлечения простого текста из документа Word.

Методы класса

Sr.No. Метод и описание
1

GetText ()

Извлекает весь текст из документа.

GetText ()

Извлекает весь текст из документа.

Остальные методы этого класса см. В полном документе API по адресу: Документация по POI API.

Apache POI Word — Документ

Здесь термин «документ» относится к файлу MS-Word. После завершения этой главы вы сможете создавать новые документы и открывать существующие документы с помощью вашей Java-программы.

Создать пустой документ

Следующая простая программа используется для создания пустого документа MS-Word —

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class CreateDocument {

   public static void main(String[] args)throws Exception  {
   
      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
		
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream( new File("createdocument.docx"));
      document.write(out);
      out.close();
      System.out.println("createdocument.docx written successully");
   }
}

Сохраните приведенный выше Java-код как CreateDocument.java, а затем скомпилируйте и выполните его из командной строки следующим образом:

$javac  CreateDocument.java
$java CreateDocument

Если ваша системная среда сконфигурирована с библиотекой POI, она скомпилируется и выполнится для генерации пустого файла Excel с именем creationocument.docx в вашем текущем каталоге и отображения следующего вывода в командной строке:

createdocument.docx written successfully

Apache POI Word — пункт

В этой главе вы узнаете, как создать абзац и как добавить его в документ с помощью Java. Абзац является частью страницы в файле Word.

После завершения этой главы вы сможете создать абзац и выполнить над ним операции чтения.

Создать абзац

Прежде всего, давайте создадим Paragraph, используя ссылочные классы, обсуждавшиеся в предыдущих главах. Следуя предыдущей главе, сначала создайте документ, а затем мы можем создать абзац.

Следующий фрагмент кода используется для создания электронной таблицы:

//Create Blank document
   XWPFDocument document = new XWPFDocument();

//Create a blank spreadsheet
   XWPFParagraph paragraph = document.createParagraph();

Запустить на параграфе

Вы можете ввести текст или любой элемент объекта, используя Run . С помощью экземпляра Paragraph вы можете создать прогон .

Следующий фрагмент кода используется для создания Run.

XWPFRun run = paragraph.createRun();

Написать в параграф

Давайте попробуем ввести текст в документ. Рассмотрим следующие текстовые данные —

At tutorialspoint.com, we strive hard to provide quality tutorials for self-learning
purpose in the domains of Academics, Information Technology, Management and Computer
Programming Languages.

Следующий код используется для записи вышеуказанных данных в абзац.

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class CreateParagraph {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
      
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("createparagraph.docx"));
        
      //create Paragraph
      XWPFParagraph paragraph = document.createParagraph();
      XWPFRun run = paragraph.createRun();
      run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming
         Languages.");
			
      document.write(out);
      out.close();
      System.out.println("createparagraph.docx written successfully");
   }
}

Сохраните приведенный выше Java-код как CreateParagraph.java, а затем скомпилируйте и запустите его из командной строки следующим образом:

$javac CreateParagraph.java
$java CreateParagraph

Он скомпилируется и выполнится для создания файла Word с именем createparagraph.docx в вашем текущем каталоге, и вы получите следующий вывод в командной строке —

createparagraph.docx written successfully

Файл createparagraph.docx выглядит следующим образом.

Создать абзац

Apache POI Word — Границы

В этой главе вы узнаете, как применить границу к абзацу с помощью Java-программирования.

Применяя границу

Следующий код используется для применения границ в документе —

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.Borders;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class ApplyingBorder {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("applyingborder.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set bottom border to paragraph
      paragraph.setBorderBottom(Borders.BASIC_BLACK_DASHES);
        
      //Set left border to paragraph
      paragraph.setBorderLeft(Borders.BASIC_BLACK_DASHES);
        
      //Set right border to paragraph
      paragraph.setBorderRight(Borders.BASIC_BLACK_DASHES);
        
      //Set top border to paragraph
      paragraph.setBorderTop(Borders.BASIC_BLACK_DASHES);
        
      XWPFRun run = paragraph.createRun();
         run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming " +
         "Languages.");
        
      document.write(out);
      out.close();
      System.out.println("applyingborder.docx written successully");
   }
}

Сохраните приведенный выше код в файле с именем ApplyingBorder.java, скомпилируйте и выполните его из командной строки следующим образом:

$javac ApplyingBorder.java
$java ApplyingBorder

Если ваша система сконфигурирована с библиотекой POI, то она скомпилируется и выполнится, чтобы сгенерировать документ Word с именем applyborder.docx в вашем текущем каталоге и отобразить следующий вывод:

applyingborder.docx written successfully

Файл applyborder.docx выглядит следующим образом —

Пограничный абзац

Apache POI Word — Таблицы

В этой главе вы узнаете, как создать таблицу данных в документе. Вы можете создать данные таблицы с помощью класса XWPFTable . Добавив каждую строку в таблицу и добавив каждую ячейку в строку, вы получите данные таблицы.

Создать таблицу

Следующий код используется для создания таблицы в документе —

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;

public class CreateTable {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument();
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("create_table.docx"));
        
      //create table
      XWPFTable table = document.createTable();
		
      //create first row
      XWPFTableRow tableRowOne = table.getRow(0);
      tableRowOne.getCell(0).setText("col one, row one");
      tableRowOne.addNewTableCell().setText("col two, row one");
      tableRowOne.addNewTableCell().setText("col three, row one");
		
      //create second row
      XWPFTableRow tableRowTwo = table.createRow();
      tableRowTwo.getCell(0).setText("col one, row two");
      tableRowTwo.getCell(1).setText("col two, row two");
      tableRowTwo.getCell(2).setText("col three, row two");
		
      //create third row
      XWPFTableRow tableRowThree = table.createRow();
      tableRowThree.getCell(0).setText("col one, row three");
      tableRowThree.getCell(1).setText("col two, row three");
      tableRowThree.getCell(2).setText("col three, row three");
	
      document.write(out);
      out.close();
      System.out.println("create_table.docx written successully");
   }
}

Сохраните приведенный выше код в файле с именем CreateTable.java. Скомпилируйте и выполните его из командной строки следующим образом:

$javac CreateTable.java
$java CreateTable

Он генерирует файл Word с именем createtable.docx в вашем текущем каталоге и отображает следующий вывод в командной строке —

createtable.docx written successfully

Файл createtable.docx выглядит следующим образом —

Создать таблицу

Apache POI Word — шрифт и выравнивание

В этой главе показано, как применять различные стили шрифтов и выравнивания в документе Word с использованием Java. Обычно стиль шрифта содержит: размер шрифта, тип, полужирный, курсив и подчеркивание. А выравнивание подразделяется на левое, центральное, правое и оправданное.

Стиль шрифта

Следующий код используется для установки различных стилей шрифта —

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.VerticalAlign;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class FontStyle {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(new File("fontstyle.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set Bold an Italic
      XWPFRun paragraphOneRunOne = paragraph.createRun();
      paragraphOneRunOne.setBold(true);
      paragraphOneRunOne.setItalic(true);
      paragraphOneRunOne.setText("Font Style");
      paragraphOneRunOne.addBreak();
        
      //Set text Position
      XWPFRun paragraphOneRunTwo = paragraph.createRun();
      paragraphOneRunTwo.setText("Font Style two");
      paragraphOneRunTwo.setTextPosition(100);
 
      //Set Strike through and Font Size and Subscript
      XWPFRun paragraphOneRunThree = paragraph.createRun();
      paragraphOneRunThree.setStrike(true);
      paragraphOneRunThree.setFontSize(20);
      paragraphOneRunThree.setSubscript(VerticalAlign.SUBSCRIPT);
      paragraphOneRunThree.setText(" Different Font Styles");
        
      document.write(out);
      out.close();
      System.out.println("fontstyle.docx written successully");
   }
}

Сохраните приведенный выше код как FontStyle.java, а затем скомпилируйте и выполните его из командной строки следующим образом:

$javac FontStyle.java
$java FontStyle

Он создаст файл Word с именем fontstyle.docx в вашем текущем каталоге и отобразит следующий вывод в командной строке —

fontstyle.docx written successfully

Файл fontstyle.docx выглядит следующим образом.

Стиль шрифта

центровка

Следующий код используется для установки выравнивания по тексту абзаца —

import java.io.File;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

public class AlignParagraph {

   public static void main(String[] args)throws Exception {

      //Blank Document
      XWPFDocument document = new XWPFDocument(); 
        
      //Write the Document in file system
      FileOutputStream out = new FileOutputStream(
      new File("alignparagraph.docx"));
        
      //create paragraph
      XWPFParagraph paragraph = document.createParagraph();
        
      //Set alignment paragraph to RIGHT
      paragraph.setAlignment(ParagraphAlignment.RIGHT);
      XWPFRun run = paragraph.createRun();
      run.setText("At tutorialspoint.com, we strive hard to " +
         "provide quality tutorials for self-learning " +
         "purpose in the domains of Academics, Information " +
         "Technology, Management and Computer Programming " +
         "Languages.");
        
      //Create Another paragraph
      paragraph = document.createParagraph();
        
      //Set alignment paragraph to CENTER
      paragraph.setAlignment(ParagraphAlignment.CENTER);
      run = paragraph.createRun();
      run.setText("The endeavour started by Mohtashim, an AMU " +
         "alumni, who is the founder and the managing director " +
         "of Tutorials Point (I) Pvt. Ltd. He came up with the " +
         "website tutorialspoint.com in year 2006 with the help" +
         "of handpicked freelancers, with an array of tutorials" +
         " for computer programming languages. ");
			
      document.write(out);
      out.close();
      System.out.println("alignparagraph.docx written successfully");
   }
}

Сохраните приведенный выше код как AlignParagraph.java, а затем скомпилируйте и выполните его из командной строки следующим образом:

$javac AlignParagraph.java
$java AlignParagraph

Он создаст файл Word с именем alignparagraph.docx в вашем текущем каталоге и отобразит следующий вывод в командной строке —

alignparagraph.docx written successfully

Файл alignparagraph.docx выглядит следующим образом —

Выровнять абзац

Apache POI Word — извлечение текста

В этой главе объясняется, как извлечь простые текстовые данные из документа Word с помощью Java. Если вы хотите извлечь метаданные из документа Word, используйте Apache Tika.

Для файлов .docx мы используем класс org.apache.poi.xwpf.extractor.XPFFWordExtractor, который извлекает и возвращает простые данные из файла Word. Точно так же у нас есть разные методологии для извлечения заголовков, сносок, табличных данных и т. Д. Из файла Word.

Следующий код показывает, как извлечь простой текст из файла Word —

import java.io.FileInputStream;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class WordExtractor {

   public static void main(String[] args)throws Exception {

      XWPFDocument docx = new XWPFDocument(new FileInputStream("create_paragraph.docx"));
      
      //using XWPFWordExtractor Class
      XWPFWordExtractor we = new XWPFWordExtractor(docx);
      System.out.println(we.getText());
   }
}

Сохраните приведенный выше код как WordExtractor.java. Скомпилируйте и выполните его из командной строки следующим образом:

$javac WordExtractor.java
$java WordExtractor

Будет сгенерирован следующий вывод: