1. produkty
  2.   Zpracování textu
  3.   Java
  4.   Apache POI HWPF

Apache POI HWPF

 
 

Zpracujte binární dokumenty Microsoft Word

Vytvářejte, čtěte, manipulujte a převádějte soubory DOC prostřednictvím Open Source Java Library.

Apache POI HWPF je port Apache POI pro formát souborů Microsoft Word DOC. Poskytuje funkce pro čtení a zápis souborů DOC bez potřeby dalších knihoven. Poskytuje také omezenou podporu pouze pro čtení pro starší formáty souborů Word 6 a Word 95. V této fázi se HWPF zabývá hlavně formátovaným textem. Poskytuje základní extrakci textu, extrakci specifického textu, přístup k záhlaví a zápatí a změny textových funkcí.

Umožňuje vývojářům vytvářet dokumenty MS-Word se schopností manipulovat s odstavci, přidávat do textu různé styly, přidávat tabulku, extrahovat text a mnoho dalšího.

Previous Next

Začínáme s Apache POI HWPF

Nejprve musíte mít na svém systému nainstalovanou sadu Java Development Kit (JDK). Pokud jej již máte, přejděte na stránku stažení místa zájmu Apache, kde získáte nejnovější stabilní verzi v archivu. Extrahujte obsah souboru ZIP do libovolného adresáře, odkud lze požadované knihovny propojit s vaším programem Java. To je vše!

Odkazování na Apache POI ve vašem projektu Java založeném na Maven je ještě jednodušší. Vše, co potřebujete, je přidat následující závislost do vašeho pom.xml a nechat vaše IDE načíst a odkazovat na soubory Apache POI Jar.

Závislost na Apache POI Maven

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

Vytvářejte a upravujte dokumenty Word pomocí rozhraní Java API

Apache POI HWPF umožňuje programátorům vytvářet nové dokumenty Word ve formátech souborů DOC. Rozhraní API také umožňuje vývojářům upravovat stávající dokumenty aplikace Word podle jejich vlastních potřeb. Rozhraní API také podporuje přidání odstavce do dokumentu aplikace Word, použití zarovnání textu a stylů písem a mnoho dalšího.

Upravit soubor 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();

Převeďte dokumenty Word do jiných formátů pomocí Java

pache POI HWPF umožňuje vývojářům softwaru snadno převádět dokumenty Microsoft Word do jakýchkoli podporovaných formátů souborů. V současné době mohou vývojáři v jazyce Java převádět dokumenty aplikace Word do formátu HTML, FO a Text. Balíček org.apache.poi.hwpf.converter obsahuje převodníky Word-to-HTML a Word-to-FO.

Převést DOC do 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();

Číst text ze souboru DOC

Apache POI HWPF poskytuje třídu WordExtractor pro čtení textu ze souboru ve formátu Microsoft Word DOC. Text ze souboru můžete extrahovat pouze několika řádky kódu.

Extrahujte text ze souboru 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());

Přidat vlastní záhlaví a zápatí do DOC

Apache POI HWPF umožňuje vývojářům Java vytvářet vlastní záhlaví a zápatí v dokumentech aplikace Word. Apache POI HWPF je popsán jako „středně funkční“. Poskytuje podporu pro základní extrakci textu, extrakci specifického textu, přístup k záhlaví a zápatí a změnu textových funkcí. Metodu getText() lze použít k získání textu ze všech odstavců nebo lze použít metodu getParagraphText() k načtení textu postupně z každého odstavce. 

Spravujte vlastní záhlaví a zápatí v souboru 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);
 Čeština