Apache POI HWPF

 
 

עבד מסמכים בינאריים של Microsoft Word

צור, קרא, פעל והמר קובצי DOC באמצעות ספריית Java קוד פתוח.

Apache POI HWPF היא יציאת Apache POI עבור פורמט קובץ DOC של Microsoft Word. הוא מספק פונקציונליות לקריאה ולכתיבה של קבצי DOC ללא צורך בספריות נוספות. הוא גם מספק תמיכה מוגבלת לקריאה בלבד עבור תבניות הקבצים הישנות יותר של Word 6 ו-Word 95. בשלב זה, HWPF עוסקת בעיקר בטקסט מעוצב. הוא מספק חילוץ טקסט בסיסי, חילוץ טקסט ספציפי, גישה לכותרות עליונות ותחתונות ושינוי תכונות טקסט.

זה מאפשר למפתחים ליצור מסמכי MS-Word עם היכולת לתמרן פסקאות, להוסיף סגנונות שונים לטקסט, להוסיף טבלה, לחלץ טקסט ועוד הרבה יותר.

Previous Next

תחילת העבודה עם Apache POI HWPF

קודם כל, עליך להתקין את ערכת הפיתוח של Java (JDK) במערכת שלך. אם כבר יש לך את זה, המשך לדף הורדה של Apache POI כדי לקבל את המהדורה היציבה האחרונה בארכיון. חלץ את התוכן של קובץ ה-ZIP בכל ספרייה שממנה ניתן לקשר את הספריות הנדרשות לתוכנית Java שלך. זה הכל!

הפניה ל-Apache POI בפרויקט Java המבוסס על Maven היא אפילו פשוטה יותר. כל מה שאתה צריך הוא להוסיף את התלות הבאה ב-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 באמצעות ממשקי API של Java

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 מאפשר למפתחי תוכנה להמיר מסמכי Word של Microsoft לכל פורמט קובץ נתמך בקלות. כרגע מפתחי 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);
 עִברִית