โอเพ่นซอร์ส Java API สำหรับ Word DOCX Documents

สร้าง อ่าน แก้ไข และแปลงไฟล์ Microsoft Word DOCX เพิ่มข้อความและตารางผ่านไลบรารี Java

DOCX4J เป็นไลบรารีโอเพ่นซอร์ส (Apache v2) ที่ใช้ JAXB สำหรับจัดการรูปแบบไฟล์ Microsoft Office มีฟังก์ชันในการอ่าน เขียน แก้ไข และบันทึกรูปแบบไฟล์ Microsoft Word 2007 DOCX

DOCX4J นั้นคล้ายกับ OpenXML SDK ของ Microsoft แต่สำหรับ Java ใช้ JAXB เพื่อสร้างการแสดงวัตถุในหน่วยความจำ เมื่อใช้ API คุณสามารถสร้างเอกสาร Mircosoft Office, แก้ไข, จัดรูปแบบข้อความและย่อหน้า, แทรกตารางและรูปภาพ และจัดการองค์ประกอบแบบฟอร์มอื่นๆ และอื่นๆ อีกมากมาย โดยพื้นฐานแล้ว ความสำคัญอยู่ที่พลัง หากรูปแบบรองรับ คุณสามารถทำได้โดยใช้ API

Previous Next

เริ่มต้นใช้งาน DOCX4J

ก่อนอื่น คุณต้องมี Java Development Kit (JDK) ติดตั้งอยู่ในระบบของคุณ การอ้างอิง DOCX4J ในโปรเจ็กต์ Java ที่ใช้ Maven นั้นง่ายกว่า สิ่งที่คุณต้องมีคือเพิ่มการพึ่งพาต่อไปนี้ใน pom.xml ของคุณและให้ IDE ดึงข้อมูลและอ้างอิงไฟล์ DOCX4J Jar

DOCX4J Maven Dependency

<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-Internal</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-MOXy</artifactId>
<version>8.0.0</version>
</dependency>
  

เพิ่มย่อหน้า รูปภาพ & ตารางลงในเอกสาร Word

DOCX4J อนุญาตให้นักพัฒนาเพิ่มย่อหน้าและรูปภาพลงในเอกสาร Word API ยังมีคุณลักษณะในการเพิ่มตารางลงในเอกสาร DOCX ในขณะที่สร้างตารางที่เรียบง่ายและซ้อนกันด้วยข้อมูลที่ผู้ใช้กำหนดเองได้

สร้าง DOCX ฟรีโดยใช้ DOCX4J - Java

// Create word package
WordprocessingMLPackage wordPackage = WordprocessingMLPackage.createPackage();
// Create main document part
MainDocumentPart mainDocumentPart = wordPackage.getMainDocumentPart();
// Add Paragraph
mainDocumentPart.addParagraphOfText("Open Source Java API for Word DOCX Documents");
// Save file
wordPackage.save(new File("FileFormat.docx"));

แยกข้อความจาก DOCX

DOCX4J มีคลาสเฉพาะเพื่อดึงข้อมูลจากเอกสาร Microsoft Word DOCX ด้วยโค้ดเพียงไม่กี่บรรทัด ในทำนองเดียวกัน ก็สามารถแยกหัวเรื่อง เชิงอรรถ ข้อมูลตาราง และอื่นๆ ออกจากไฟล์ Word ได้

แยกข้อความจาก DOCX ฟรี - Java

// Load document
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("FileFormat.docx"));
// Load main document part
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
// Extract nodes
String textNodesXPath = "//w:t";
List<Object> textNodes= mainDocumentPart.getJAXBNodesViaXPath(textNodesXPath, true);
// Print text
for (Object obj : textNodes) {
  Text text = (Text) ((JAXBElement) obj).getValue();
  String textValue = text.getValue();
  System.out.println(textValue);
}                 

สร้างและแก้ไขเอกสาร Word โดยใช้ Java API

DOCX4J ช่วยให้โปรแกรมเมอร์ซอฟต์แวร์สร้างเอกสาร Word ใหม่ในรูปแบบไฟล์ DOCX นักพัฒนายังสามารถโหลดไฟล์ Microsoft Word DOCX ที่มีอยู่เพื่อแก้ไขตามความต้องการของแอพพลิเคชั่น ช่วยให้คุณสามารถเพิ่มย่อหน้าใหม่ แทรกข้อความ ใช้การจัดแนวข้อความและเส้นขอบ เปลี่ยนรูปแบบข้อความ และอื่นๆ

แปลงเอกสาร Microsoft Word Docx เป็น PDF

ไลบรารี Java แบบโอเพ่นซอร์ส docx4j ให้การสนับสนุนอย่างสมบูรณ์สำหรับการสร้างและแปลงเอกสาร Microsoft Word docx เป็นรูปแบบยอดนิยมต่างๆ docx4j มี 3 วิธีในการแปลงเอกสาร Microsoft Word docx เป็น PDF ตัวอย่างต่อไปนี้ใช้ document4j (ทำงานจากระยะไกล) เพื่อแปลงไฟล์ docx เป็น PDF

การแปลงเอกสาร EWord Docx เป็น PDF ผ่าน Java


public class DocxFileToPDF {
public static void main(String[] args) throws IOException, Docx4JException {
File output = new File(System.getProperty("user.dir")+"/result.pdf");
FileOutputStream fos = new FileOutputStream(output); 
Documents4jRemoteServices exporter = new Documents4jRemoteServices();
exporter.export(new File(System.getProperty("user.dir")+"/../docx4j-samples-docx4j/sample-docs/sample-docx.docx") , fos, DocumentType.MS_WORD); 
fos.close();
}
}
 ไทย