1. Termékek
  2.   Szövegszerkesztés
  3.   Java
  4.   Apache POI HWPF

Apache POI HWPF

 
 

A Microsoft Word bináris dokumentumok feldolgozása

DOC-fájlok létrehozása, olvasása, manipulálása és konvertálása a nyílt forráskódú Java könyvtáron keresztül.

Az Apache POI HWPF egy Apache POI port a Microsoft Word DOC fájlformátumhoz. Funkciókat biztosít DOC fájlok olvasásához és írásához anélkül, hogy további könyvtárak kellenek. Korlátozott írásvédett támogatást is biztosít a régebbi Word 6 és Word 95 fájlformátumokhoz. Ebben a szakaszban a HWPF főként a formázott szöveggel foglalkozik. Alapvető szövegkivonást, konkrét szövegkivonást, hozzáférést biztosít a fejlécekhez és láblécekhez, valamint a szövegfunkciók módosítását.

Lehetővé teszi a fejlesztők számára, hogy MS-Word dokumentumokat hozzanak létre, amelyek lehetővé teszik a bekezdések kezelését, a szöveghez különböző stílusok hozzáadását, táblázat hozzáadását, szöveg kivonatát és még sok mást.

Previous Next

Az Apache POI HWPF használatának megkezdése

Először is telepítenie kell a Java Development Kit-et (JDK) a rendszerére. Ha már rendelkezik vele, lépjen az Apache POI letöltési oldalára, hogy a legújabb stabil kiadást egy archívumban kapja meg. Csomagolja ki a ZIP fájl tartalmát bármely olyan könyvtárból, ahonnan a szükséges könyvtárak a Java programhoz kapcsolhatók. Ez minden!

Az Apache POI hivatkozás a Maven-alapú Java projektben még egyszerűbb. Mindössze annyit kell tennie, hogy hozzáadja a következő függőséget a pom.xml fájlhoz, és hagyja, hogy az IDE letöltse és hivatkozzon az Apache POI Jar fájlokra.

Apache POI Maven függőség

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

Word-dokumentumok létrehozása és módosítása Java API-k használatával

Az Apache POI HWPF lehetővé teszi a programozók számára, hogy új Word dokumentumokat hozzanak létre DOC fájlformátumban. Az API azt is lehetővé teszi a fejlesztők számára, hogy saját igényeik szerint módosítsák a meglévő Word-dokumentumokat. Az API ezenkívül támogatja a bekezdés hozzáadását a Word-dokumentumhoz, a szövegigazítások és betűstílusok alkalmazását és még sok mást.

DOC fájl módosítása - 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();

A Word-dokumentumok konvertálása más formátumokká Java segítségével

A pache POI HWPF segítségével a szoftverfejlesztők könnyedén konvertálhatják a Microsoft Word dokumentumokat bármely támogatott fájlformátumba. Jelenleg a Java fejlesztők képesek Word dokumentumokat HTML, FO és szöveg formátumba konvertálni. Az org.apache.poi.hwpf.converter csomag Word-HTML és Word-FO konvertereket tartalmaz.

A DOC konvertálása HTML-be

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

Szöveg olvasása DOC fájlból

Az Apache POI HWPF WordExtractor osztályt biztosít a szöveg olvasásához Microsoft Word DOC fájlformátumból. Csak néhány sornyi kóddal kinyerhet szöveget a fájlból.

Szöveg kibontása DOC fájlból

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

Adjon hozzá egyéni fejlécet és láblécet a DOC-hoz

Az Apache POI HWPF lehetővé teszi a Java fejlesztők számára, hogy egyéni fejléceket és lábléceket hozzanak létre a Word dokumentumokon belül. Az Apache POI HWPF leírása szerint „mérsékelten működőképes”. Támogatja az alapvető szövegkivonást, a konkrét szövegkivonást, a fejlécekhez és láblécekhez való hozzáférést, valamint a szövegfunkciók módosítását. A getText() metódussal az összes bekezdésből ki lehet gyűjteni a szöveget, vagy a getParagraphText() segítségével sorban lekérhetjük az egyes bekezdésekből a szöveget. 

Egyéni fejléc és lábléc kezelése Word DOC fájlban


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