Apache POI HWPF
Επεξεργαστείτε δυαδικά έγγραφα του Microsoft Word
Δημιουργία, ανάγνωση, χειρισμός και μετατροπή αρχείων DOC μέσω της Βιβλιοθήκης Java Open Source.
Το Apache POI HWPF είναι μια θύρα POI Apache για μορφή αρχείου Microsoft Word DOC. Παρέχει λειτουργικότητα για ανάγνωση και εγγραφή αρχείων DOC χωρίς να χρειάζεται επιπλέον βιβλιοθήκες. Παρέχει επίσης περιορισμένη υποστήριξη μόνο για ανάγνωση για τις παλαιότερες μορφές αρχείων Word 6 και Word 95. Σε αυτό το στάδιο, το HWPF ασχολείται κυρίως με το μορφοποιημένο κείμενο. Παρέχει βασική εξαγωγή κειμένου, συγκεκριμένη εξαγωγή κειμένου, πρόσβαση σε κεφαλίδες και υποσέλιδα και αλλαγή χαρακτηριστικών κειμένου.
Διευκολύνει τους προγραμματιστές να δημιουργήσουν Έγγραφα MS-Word με τη δυνατότητα χειρισμού παραγράφων, προσθήκης διαφορετικών στυλ στο κείμενο, προσθήκης πίνακα, εξαγωγής κειμένου και πολλά άλλα.
Ξεκινώντας με το Apache POI HWPF
Πρώτα απ 'όλα, πρέπει να έχετε εγκατεστημένο το Java Development Kit (JDK) στο σύστημά σας. Εάν το έχετε ήδη, προχωρήστε στη σελίδα λήψης του POI του Apache για να λάβετε την πιο πρόσφατη σταθερή έκδοση σε ένα αρχείο. Εξαγάγετε τα περιεχόμενα του αρχείου ZIP σε οποιονδήποτε κατάλογο από όπου μπορούν να συνδεθούν οι απαιτούμενες βιβλιοθήκες με το πρόγραμμα Java σας. Αυτό είναι όλο!
Η αναφορά σε POI του Apache στο έργο Java που βασίζεται στο Maven είναι ακόμα πιο απλή. Το μόνο που χρειάζεστε είναι να προσθέσετε την ακόλουθη εξάρτηση στο pom.xml σας και να αφήσετε το IDE σας να ανακτήσει και να παραπέμψει τα αρχεία Apache POI Jar.
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>
Δημιουργήστε και τροποποιήστε έγγραφα του 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-to-HTML και Word-to-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 για ανάγνωση κειμένου από τη μορφή αρχείου Microsoft Word DOC. Μπορείτε να εξαγάγετε κείμενο από το αρχείο με λίγες μόνο γραμμές κώδικα.
Εξαγωγή κειμένου από ένα αρχείο 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() μπορεί να χρησιμοποιηθεί για την ανάκτηση του κειμένου από κάθε παράγραφο με τη σειρά.
Διαχείριση προσαρμοσμένης κεφαλίδας και υποσέλιδου στο αρχείο DOC του Word
// 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);