Apache POI HWPF

 
 

Xử lý tài liệu nhị phân Microsoft Word

Tạo, đọc, thao tác và chuyển đổi tệp DOC thông qua Thư viện Java nguồn mở.

Apache POI HWPF là một cổng Apache POI cho định dạng tệp DOC của Microsoft Word. Nó cung cấp chức năng đọc và ghi các tệp DOC mà không cần bất kỳ thư viện bổ sung nào. Nó cũng cung cấp hỗ trợ chỉ đọc có giới hạn cho các định dạng tệp Word 6 và Word 95 cũ hơn. Ở giai đoạn này, HWPF chủ yếu quan tâm đến văn bản được định dạng. Nó cung cấp khả năng trích xuất văn bản cơ bản, trích xuất văn bản cụ thể, quyền truy cập vào đầu trang và chân trang, và thay đổi các tính năng văn bản.

Nó tạo điều kiện cho các nhà phát triển tạo Tài liệu MS-Word với khả năng thao tác các đoạn văn, thêm các kiểu khác nhau vào văn bản, thêm bảng, trích xuất văn bản và hơn thế nữa.

Previous Next

Bắt đầu với Apache POI HWPF

Trước hết, bạn cần cài đặt Bộ phát triển Java (JDK) trên hệ thống của mình. Nếu bạn đã có thì hãy truy cập trang tải xuống của Apache POI để tải xuống bản phát hành ổn định mới nhất trong kho lưu trữ. Trích xuất nội dung của tệp ZIP trong bất kỳ thư mục nào từ đó các thư viện bắt buộc có thể được liên kết với chương trình Java của bạn. Đó là tất cả!

Tham chiếu Apache POI trong dự án Java dựa trên Maven của bạn thậm chí còn đơn giản hơn. Tất cả những gì bạn cần là thêm phần phụ thuộc sau vào pom.xml và cho phép IDE của bạn tìm nạp và tham chiếu các tệp Apache POI Jar.

Apache POI Maven Phụ thuộc

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
  <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-scratchpad</artifactId>
    <version>4.0.0</version>
  </dependency>
  

Tạo và sửa đổi tài liệu Word bằng cách sử dụng API Java

Apache POI HWPF cho phép lập trình viên tạo Tài liệu Word mới ở định dạng tệp DOC. API cũng cho phép các nhà phát triển sửa đổi các Tài liệu Word hiện có theo nhu cầu riêng của họ. API cũng hỗ trợ thêm một đoạn văn trong tài liệu Word, áp dụng căn chỉnh văn bản và kiểu phông chữ, v.v.

Sửa đổi tệp DOC - Java

// open an empty doc file, using APACHE POI we cannot create .doc file format from scratch
HWPFDocument doc = new HWPFDocument(new FileInputStream("empty.doc"));
Range range = doc.getRange();
// inset text
CharacterRun run = range.insertAfter("File Format Developer Guide - " +
"Learn about computer files that you come across in " +
"your daily work at: www.fileformat.com ");
OutputStream out = new FileOutputStream("document.pdf");
// save document
doc.write(out);
out.close();

Chuyển đổi tài liệu Word sang các định dạng khác bằng Java

pache POI HWPF cho phép các nhà phát triển Phần mềm chuyển đổi các tài liệu Microsoft word sang bất kỳ định dạng tệp nào được hỗ trợ một cách dễ dàng. Hiện tại, các nhà phát triển Java có thể chuyển đổi tài liệu Word sang định dạng HTML, FO và Text. Gói org.apache.poi.hwpf.converter chứa các trình chuyển đổi Word-to-HTML và Word-to-FO.

Chuyển đổi DOC sang HTML

// load document
HWPFDocumentCore wordDocument = WordToHtmlUtils.loadDoc(new FileInputStream("document.doc"));
Document newDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
// initialize WordToHtmlConverter
WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(newDocument );
// process document
wordToHtmlConverter.processDocument( wordDocument );
StringWriter stringWriter = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty( OutputKeys.INDENT, "yes" );
transformer.setOutputProperty( OutputKeys.ENCODING, "utf-8" );
transformer.setOutputProperty( OutputKeys.METHOD, "html" );
transformer.transform(
    new DOMSource( wordToHtmlConverter.getDocument() ),
    new StreamResult( stringWriter ) );
// get html
String html = stringWriter.toString();

Đọc văn bản từ tệp DOC

Apache POI HWPF cung cấp lớp WordExtractor để đọc văn bản từ định dạng tệp Microsoft Word DOC. Bạn có thể trích xuất văn bản từ tệp chỉ với một vài dòng mã.

Trích xuất văn bản từ tệp DOC

// load DOC file
FileInputStream fis = new FileInputStream(new File("document.doc"));
// open file
HWPFDocument doc = new HWPFDocument(fis);
// read text
WordExtractor extractor = new WordExtractor(doc);
// display text
System.out.println(extractor.getText());

Thêm Đầu trang & Chân trang Tùy chỉnh vào DOC

Apache POI HWPF cho phép các nhà phát triển Java tạo đầu trang và chân trang tùy chỉnh bên trong tài liệu Word. Apache POI HWPF được mô tả là "chức năng vừa phải". Nó cung cấp hỗ trợ cho việc trích xuất văn bản cơ bản, trích xuất văn bản cụ thể, truy cập vào đầu trang và chân trang và thay đổi các tính năng văn bản. Phương thức getText () có thể được sử dụng để lấy văn bản từ tất cả các đoạn hoặc getParagraphText () có thể được sử dụng để lần lượt lấy văn bản từ từng đoạn. 

Quản lý Đầu trang & Chân trang Tùy chỉnh trong Tệp Word DOC


// The path to the documents directory.
String dataDir = Utils.getDataDir(ApacheHeaders.class);
POIFSFileSystem fs = null;
fs = new POIFSFileSystem(new FileInputStream(dataDir + "MyHeader.doc"));
HWPFDocument doc = new HWPFDocument(fs);
int pageNumber = 1;
HeaderStories headerStore = new HeaderStories(doc);
String header = headerStore.getHeader(pageNumber);
System.out.println("Header Is: " + header);
 Tiếng Việt