Apache POI HWPF
Обработвайте двоични документи на Microsoft Word
Създавайте, четете, манипулирайте и конвертирайте DOC файлове чрез Java библиотека с отворен код.
Apache POI HWPF е порт на Apache POI за файлов формат DOC на Microsoft Word. Той предоставя функционалност за четене и писане на DOC файлове без нужда от допълнителни библиотеки. Освен това предоставя ограничена поддръжка само за четене за по-старите файлови формати Word 6 и Word 95. На този етап HWPF се занимава главно с форматиран текст. Осигурява основно извличане на текст, специфично извличане на текст, достъп до горен и долен колонтитул и променящи се текстови функции.
Той улеснява разработчиците да създават MS-Word документи с възможност за манипулиране на абзаци, добавяне на различни стилове към текст, добавяне на таблица, извличане на текст и много други.
Първи стъпки с Apache POI HWPF
На първо място, трябва да имате инсталиран Java Development Kit (JDK) на вашата система. Ако вече го имате, продължете към страницата за изтегляне на Apache POI, за да получите най-новата стабилна версия в архив. Извлечете съдържанието на ZIP файла във всяка директория, откъдето необходимите библиотеки могат да бъдат свързани към вашата Java програма. Това е всичко!
Позоваването на Apache POI във вашия базиран на Maven Java проект е още по-лесно. Всичко, от което се нуждаете, е да добавите следната зависимост във вашия pom.xml и да оставите вашата IDE да извлича и препраща към Apache POI Jar файловете.
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>
Създавайте и променяйте документи на Word с помощта на Java API
Apache POI HWPF позволява на програмистите да създават нови Word документи във файлови формати DOC. API също така позволява на разработчиците да променят съществуващи Word документи според собствените си нужди. API също поддържа добавяне на абзац в документ на Word, прилагане на подравняване на текст и стилове на шрифтове и много други.
Промяна на 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();
Конвертирайте Word документи в други формати с помощта на Java
pache POI HWPF позволява на разработчиците на софтуер да конвертират документи на Microsoft word във всеки поддържан файлов формат с лекота. В момента разработчиците на Java могат да конвертират Word документи в HTML, FO и текстов формат. Пакетът org.apache.poi.hwpf.converter съдържа конвертори от Word към HTML и Word към FO.
Преобразувайте DOC в 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();
Прочетете текст от DOC файл
Apache POI HWPF предоставя клас WordExtractor за четене на текст от файлов формат DOC на Microsoft Word. Можете да извлечете текст от файла само с няколко реда код.
Извличане на текст от 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());
Добавете персонализиран горен и долен колонтитул към DOC
Apache POI HWPF позволява на разработчиците на Java да създават персонализирани горни и долни колонтитули в документи на Word. Apache POI HWPF е описан като "умерено функционален". Той осигурява поддръжка за основно извличане на текст, извличане на специфичен текст, достъп до горен и долен колонтитул и промяна на текстови функции. Методът getText() може да се използва за получаване на текста от всички абзаци или getParagraphText() може да се използва за извличане на текста от всеки абзац на свой ред.
Управление на персонализиран горен и долен колонтитул в 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);