1. Produkte
  2.   Textverarbeitung
  3.   Java
  4.   Apache POI HWPF

Apache POI HWPF

 
 

Verarbeiten Sie Microsoft Word-Binärdokumente

Erstellen, lesen, bearbeiten und konvertieren Sie DOC-Dateien über die Open-Source-Java-Bibliothek.

Apache POI HWPF ist ein Apache POI-Port für das Microsoft Word DOC-Dateiformat. Es bietet Funktionen zum Lesen und Schreiben von DOC-Dateien, ohne dass zusätzliche Bibliotheken erforderlich sind. Es bietet auch eingeschränkte schreibgeschützte Unterstützung für die älteren Dateiformate Word 6 und Word 95. In dieser Phase befasst sich HWPF hauptsächlich mit formatiertem Text. Es bietet grundlegende Textextraktion, spezifische Textextraktion, Zugriff auf Kopf- und Fußzeilen und das Ändern von Textfunktionen.

Es erleichtert Entwicklern das Erstellen von MS-Word-Dokumenten mit der Möglichkeit, Absätze zu bearbeiten, Text mit verschiedenen Stilen zu versehen, eine Tabelle hinzuzufügen, Text zu extrahieren und vieles mehr.

Previous Next

Erste Schritte mit Apache POI HWPF

Zunächst muss das Java Development Kit (JDK) auf Ihrem System installiert sein. Wenn Sie es bereits haben, gehen Sie zur Downloadseite von Apache POI, um die neueste stabile Version in einem Archiv zu erhalten. Extrahieren Sie den Inhalt der ZIP-Datei in ein beliebiges Verzeichnis, aus dem die benötigten Bibliotheken mit Ihrem Java-Programm verknüpft werden können. Das ist alles!

Das Referenzieren von Apache POI in Ihrem Maven-basierten Java-Projekt ist sogar noch einfacher. Alles, was Sie brauchen, ist, die folgende Abhängigkeit in Ihrer pom.xml hinzuzufügen und Ihre IDE die Apache POI-Jar-Dateien abrufen und referenzieren zu lassen.

Apache POI Maven-Abhängigkeit

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

Erstellen und ändern Sie Word-Dokumente mit Java-APIs

Apache POI HWPF ermöglicht Programmierern, neue Word-Dokumente im DOC-Dateiformat zu erstellen. Die API ermöglicht es Entwicklern auch, vorhandene Word-Dokumente nach ihren eigenen Bedürfnissen zu modifizieren. Die API unterstützt auch das Hinzufügen eines Absatzes in einem Word-Dokument, das Anwenden von Textausrichtungen und Schriftstilen und vieles mehr.

DOC-Datei ändern - 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();

Konvertieren Sie Word-Dokumente mit Java in andere Formate

pache POI HWPF ermöglicht es Softwareentwicklern, Microsoft Word-Dokumente problemlos in alle unterstützten Dateiformate zu konvertieren. Im Moment können Java-Entwickler Word-Dokumente in das HTML-, FO- und Text-Format konvertieren. Das Paket org.apache.poi.hwpf.converter enthält Word-to-HTML- und Word-to-FO-Konverter.

Konvertieren Sie DOC in 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();

Text aus DOC-Datei lesen

Apache POI HWPF stellt die WordExtractor-Klasse bereit, um Text aus dem Microsoft Word DOC-Dateiformat zu lesen. Mit nur wenigen Codezeilen können Sie Text aus der Datei extrahieren.

Text aus einer DOC-Datei extrahieren

// 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());

Benutzerdefinierte Kopf- und Fußzeile zu DOC hinzufügen

Apache POI HWPF ermöglicht es Java-Entwicklern, benutzerdefinierte Kopf- und Fußzeilen in Word-Dokumenten zu erstellen. Apache POI HWPF wird als „mäßig funktionsfähig“ beschrieben. Es bietet Unterstützung für die einfache Textextraktion, die spezifische Textextraktion, den Zugriff auf Kopf- und Fußzeilen und das Ändern von Textfunktionen. Die Methode getText() kann verwendet werden, um den Text aus allen Absätzen abzurufen, oder getParagraphText() kann verwendet werden, um den Text nacheinander aus jedem Absatz abzurufen. 

Verwalten Sie benutzerdefinierte Kopf- und Fußzeilen in der Word-DOC-Datei


// 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);
 Deutsch