1. Des produits
  2.   Traitement de texte
  3.   Java
  4.   Apache POI HWPF

Apache POI HWPF

 
 

Traiter des documents binaires Microsoft Word

Créez, lisez, manipulez et convertissez des fichiers DOC via la bibliothèque Java Open Source.

Apache POI HWPF est un port Apache POI pour le format de fichier Microsoft Word DOC. Il fournit des fonctionnalités pour lire et écrire des fichiers DOC sans avoir besoin de bibliothèques supplémentaires. Il fournit également une prise en charge limitée en lecture seule des anciens formats de fichiers Word 6 et Word 95. À ce stade, HWPF s'occupe principalement du texte formaté. Il fournit l'extraction de texte de base, l'extraction de texte spécifique, l'accès aux en-têtes et pieds de page et la modification des fonctionnalités de texte.

Il permet aux développeurs de créer des documents MS-Word avec la possibilité de manipuler des paragraphes, d'ajouter différents styles au texte, d'ajouter un tableau, d'extraire du texte et bien plus encore.

Previous Next

Premiers pas avec Apache POI HWPF

Tout d'abord, vous devez avoir le kit de développement Java (JDK) installé sur votre système. Si vous l'avez déjà, rendez-vous sur la page de téléchargement d'Apache POI pour obtenir la dernière version stable dans une archive. Extrayez le contenu du fichier ZIP dans n'importe quel répertoire à partir duquel les bibliothèques requises peuvent être liées à votre programme Java. C'est tout!

Référencer Apache POI dans votre projet Java basé sur Maven est encore plus simple. Tout ce dont vous avez besoin est d'ajouter la dépendance suivante dans votre pom.xml et de laisser votre IDE récupérer et référencer les fichiers Apache POI Jar.

Dépendance 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>
  

Créer et modifier des documents Word à l'aide des API Java

Apache POI HWPF permet aux programmeurs de créer de nouveaux documents Word au format de fichier DOC. L'API permet également aux développeurs de modifier les documents Word existants en fonction de leurs propres besoins. L'API prend également en charge l'ajout d'un paragraphe dans un document Word, l'application d'alignements de texte et de styles de police, et bien plus encore.

Modifier le fichier 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();

Convertir des documents Word en d'autres formats à l'aide de Java

pache POI HWPF permet aux développeurs de logiciels de convertir facilement des documents Microsoft Word vers n'importe quel format de fichier pris en charge. Pour le moment, les développeurs Java peuvent convertir des documents Word au format HTML, FO et texte. Le package org.apache.poi.hwpf.converter contient des convertisseurs Word-to-HTML et Word-to-FO.

Convertir DOC en 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();

Lire le texte du fichier DOC

Apache POI HWPF fournit la classe WordExtractor pour lire du texte à partir du format de fichier Microsoft Word DOC. Vous pouvez extraire du texte du fichier avec seulement quelques lignes de code.

Extraire du texte d'un fichier 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());

Ajouter un en-tête et un pied de page personnalisés au DOC

Apache POI HWPF permet aux développeurs Java de créer des en-têtes et des pieds de page personnalisés dans des documents Word. Apache POI HWPF est décrit comme "modérément fonctionnel". Il prend en charge l'extraction de texte de base, l'extraction de texte spécifique, l'accès aux en-têtes et pieds de page et la modification des fonctionnalités de texte. La méthode getText() peut être utilisée pour récupérer le texte de tous les paragraphes, ou getParagraphText() peut être utilisée pour récupérer le texte de chaque paragraphe à tour de rôle. 

Gérer l'en-tête et le pied de page personnalisés dans le fichier 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);
 Français