В этом кратком учебном пособии представлена информация о том, как читать документ Word на Java, с подробным пошаговым описанием процедуры и исполняемым Java-кодом, считывающим образец документа различными способами. В нем представлены необходимые классы, которые используются для чтения файла Word и доступа к его различным сегментам. Во время чтения документа Word в коде Java, такого как DOCX, DOC или других файлов, поддерживаемых MS Word, вы будете перебирать различные дочерние узлы документа и обрабатывать каждый из них в соответствии с вашими требованиями.
Шаги для чтения файла Word в Java
- Установите Aspose.Words for Java, используя репозиторий Maven, чтобы прочитать файл DOCX.
- Загрузите исходный файл DOCX в объект класса Document для чтения в Java.
- Перебрать все узлы типа Paragraph в документе.
- Преобразуйте текст каждого абзаца в строку и отобразите его на консоли.
- Перебрать все узлы типа Run в документе.
- Преобразуйте каждый узел в тип Run и получите доступ к имени шрифта, размеру и тексту Run.
- Отображать текст каждого запуска на консоли
Эти шаги описывают как прочитать файл Word в Java, поделившись ссылкой на страницу конфигурации, а затем указав, как загрузить исходный документ Word. После загрузки файла Word его объектная модель документа (DOM), т. е. логическая структура, также загружается и может анализироваться различными способами. Эти шаги помогают подготовить две основные коллекции — «Абзацы» и «Прогоны» — для доступа к различным частям загруженного документа Word.
Код для чтения файла DOCX в Java
package word_articles; | |
import com.aspose.words.Document; | |
import com.aspose.words.Font; | |
import com.aspose.words.License; | |
import com.aspose.words.NodeType; | |
import com.aspose.words.Paragraph; | |
import com.aspose.words.Run; | |
import com.aspose.words.SaveFormat; | |
public class ReadWordDocumentInJava { | |
public static void main(String[] args) throws Exception {// Main function to read Word file in Java | |
// Create a license object to avoid limitations of the trial version | |
// while reading the Word file | |
License licWordToPdf = new License(); | |
licWordToPdf.setLicense("Aspose.Words.lic"); | |
// Load the source Word file to be read | |
Document doc = new Document("input.docx"); | |
// Read all the paragraph in the document and display its contents | |
for (Object obj : doc.getChildNodes(NodeType.PARAGRAPH, true)) | |
{ | |
Paragraph para = (Paragraph)obj; | |
System.out.println(para.toString(SaveFormat.TEXT)); | |
} | |
// Read all the Runs in the document and display style and text | |
for (Object obj : doc.getChildNodes(NodeType.RUN, true)) | |
{ | |
Run run = (Run)obj; | |
Font font = run.getFont(); | |
System.out.println(font.getName() + "," + font.getSize()); | |
System.out.println(run.getText()); | |
} | |
System.out.println("Done"); | |
} | |
} |
Этот Java-код для чтения документа Word демонстрирует синтаксический анализ DOM с использованием различных фильтров, например, в первую очередь мы извлекаем все узлы абзаца. Класс Paragraph предоставляет функцию toString(), которая извлекает текст из всего абзаца, включая таблицы и т. д., и сохраняет его в строковой переменной. Точно так же, когда мы анализируем документ, чтобы получить все прогоны, он разделяет содержимое на основе их стиля, шрифта, типа узла и т. д. и делит один абзац на несколько сегментов на основе стиля шрифта текста, например жирный текст будет предоставлен отдельно, курсив текст отдельно и так далее.
В этом учебном пособии мы научились читать файл DOCX, однако, если вам нужно какое-либо преобразование, например, Word в PDF, обратитесь к статье как конвертировать Word в PDF на Java.