1. Produkter
  2.   Tekstbehandling
  3.   Java
  4.   Apache POI HWPF

Apache POI HWPF

 
 

Behandle binære Microsoft Word-dokumenter

Opprett, les, manipuler og konverter DOC-filer via Open Source Java Library.

Apache POI HWPF er en Apache POI-port for Microsoft Word DOC-filformat. Den gir funksjonalitet for lesing og skriving av DOC-filer uten behov for ekstra biblioteker. Den gir også begrenset skrivebeskyttet støtte for de eldre Word 6- og Word 95-filformatene. På dette stadiet er HWPF hovedsakelig opptatt av formatert tekst. Den gir grunnleggende tekstutvinning, spesifikk tekstutvinning, tilgang til topptekst og bunntekst, og endring av tekstfunksjoner.

Det gjør det lettere for utviklere å lage MS-Word-dokumenter med muligheten til å manipulere avsnitt, legge til forskjellige stiler i tekst, legge til en tabell, trekke ut tekst og mye mer.

Previous Next

Komme i gang med Apache POI HWPF

Først av alt må du ha Java Development Kit (JDK) installert på systemet ditt. Hvis du allerede har det, fortsett til Apache POIs nedlastingsside for å få den siste stabile utgivelsen i et arkiv. Pakk ut innholdet i ZIP-filen i en hvilken som helst katalog der de nødvendige bibliotekene kan kobles til Java-programmet. Det er alt!

Å referere til Apache POI i ditt Maven-baserte Java-prosjekt er enda enklere. Alt du trenger er å legge til følgende avhengighet i pom.xml og la IDE-en hente og referere til Apache POI Jar-filene.

Apache POI Maven Dependency

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

Opprett og endre Word-dokumenter ved hjelp av Java APIer

Apache POI HWPF gjør det mulig for programmerere å lage nye Word-dokumenter i DOC-filformater. APIen lar også utviklere endre eksisterende Word-dokumenter i henhold til deres egne behov. API-en støtter også å legge til et avsnitt i et Word-dokument, bruke tekstjusteringer og skriftstiler og mye mer.

Endre DOC-fil - 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();

Konverter Word-dokumenter til andre formater ved hjelp av Java

pache POI HWPF gjør det mulig for programvareutviklere å enkelt konvertere Microsoft Word-dokumenter til alle støttede filformater. For øyeblikket kan Java-utviklere konvertere Word-dokumenter til HTML-, FO- og tekstformat. org.apache.poi.hwpf.converter-pakken inneholder Word-til-HTML og Word-to-FO-konverterere.

Konverter DOC til 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();

Les tekst fra DOC-fil

Apache POI HWPF gir WordExtractor-klassen for å lese tekst fra Microsoft Word DOC-filformat. Du kan trekke ut tekst fra filen med bare noen få linjer med kode.

Trekk ut tekst fra en DOC-fil

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

Legg til tilpasset topp- og bunntekst i DOC

Apache POI HWPF gjør det mulig for Java-utviklere å lage tilpassede topp- og bunntekster i Word-dokumenter. Apache POI HWPF beskrives som "moderat funksjonell". Den gir støtte for grunnleggende tekstutvinning, spesifikk tekstutvinning, tilgang til topptekst og bunntekst og endring av tekstfunksjoner. Metoden getText() kan brukes til å hente teksten fra alle avsnittene, eller getParagraphText() kan brukes til å hente teksten fra hvert avsnitt etter tur. 

Administrer tilpasset topp- og bunntekst i Word DOC-fil


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