Programming Tutorials

Open a .docx file and show content in a TextArea using Java

By: Maggie in Java Tutorials on 2023-05-11  

It is possible to read a .docx file using Java and display its contents in a text area, but it requires additional libraries and code to handle the file format.

One approach is to use the Apache POI library to read the contents of the .docx file and convert them to plain text. Here's an example code snippet that reads a .docx file and prints its contents to the console:

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

public class DocxReader {
    public static void main(String[] args) {
        try {
            // Open the .docx file
            FileInputStream fis = new FileInputStream("document.docx");
            XWPFDocument docx = new XWPFDocument(fis);
            
            // Use the XWPFWordExtractor to get the plain text contents
            XWPFWordExtractor extractor = new XWPFWordExtractor(docx);
            String contents = extractor.getText();
            System.out.println(contents);
            
            // Close the file
            docx.close();
            fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

To display the contents in a text area instead of printing them to the console, you can set the text area's text property to the contents string:

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.io.FileInputStream;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class DocxReader {
    public static void main(String[] args) {
        try {
            // Open the .docx file
            FileInputStream fis = new FileInputStream("document.docx");
            XWPFDocument docx = new XWPFDocument(fis);
            
            // Use the XWPFWordExtractor to get the plain text contents
            XWPFWordExtractor extractor = new XWPFWordExtractor(docx);
            String contents = extractor.getText();
            
            // Create a JFrame and JTextArea to display the contents
            JFrame frame = new JFrame("Document Viewer");
            JTextArea textArea = new JTextArea(contents);
            JScrollPane scrollPane = new JScrollPane(textArea);
            frame.add(scrollPane);
            frame.setSize(800, 600);
            frame.setVisible(true);
            
            // Close the file
            docx.close();
            fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Note that this code requires the Apache POI library to be added to the classpath.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Java )

Latest Articles (in Java)