Open Source Java API untuk Dokumen Word DOCX
Membuat, Membaca, Mengedit, dan Mengonversi file DOCX Microsoft Word, menambahkan teks & tabel melalui pustaka Java.
DOCX4J adalah perpustakaan open source (Apache v2) berbasis JAXB untuk memanipulasi format file Microsoft Office. Ini menyediakan fungsionalitas untuk membaca, menulis, mengedit & dan menyimpan format file DOCX Microsoft Word 2007.
DOCX4J mirip dengan Microsoft OpenXML SDK, tetapi untuk Java. Ia menggunakan JAXB untuk membuat representasi objek dalam memori. Dengan menggunakan API, Anda dapat membuat dokumen Mircosoft Office, mengeditnya, memformat teks & paragraf, menyisipkan tabel & gambar, dan mengelola elemen formulir lainnya, dan banyak lagi. Pada dasarnya, penekanannya adalah pada kekuatan, jika formatnya mendukung, Anda dapat melakukannya menggunakan API.
Memulai DOCX4J
Pertama-tama, Anda harus menginstal Java Development Kit (JDK) di sistem Anda. Merujuk DOCX4J dalam proyek Java berbasis Maven Anda bahkan lebih sederhana. Yang Anda butuhkan hanyalah menambahkan ketergantungan berikut di pom.xml Anda dan biarkan IDE Anda mengambil dan mereferensikan file Jar DOCX4J.
Ketergantungan Maven DOCX4J
<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>
Tambahkan Paragraf, Gambar & Tabel ke Dokumen Word
DOCX4J memungkinkan pengembang untuk menambahkan paragraf & gambar ke dokumen Word. API juga menyediakan fitur untuk menambahkan tabel ke dokumen DOCX sekaligus memungkinkan pembuatan tabel sederhana dan bertingkat dengan data yang ditentukan pengguna.
Buat DOCX Gratis menggunakan 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"));
Ekstrak Teks dari DOCX
DOCX4J menyediakan kelas khusus untuk mengekstrak data dari dokumen Microsoft Word DOCX hanya dengan beberapa baris kode. Dengan cara yang sama, itu juga dapat mengekstrak judul, catatan kaki, data tabel, dan sebagainya dari file Word.
Ekstrak Teks dari DOCX Gratis - 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);
}
Hasilkan & Edit Dokumen Word menggunakan Java API
DOCX4J memungkinkan pemrogram perangkat lunak untuk membuat Dokumen Word baru dalam format file DOCX. Pengembang juga dapat memuat file DOCX Microsoft Word yang ada untuk mengeditnya sesuai dengan kebutuhan aplikasi mereka. Ini memungkinkan Anda untuk menambahkan paragraf baru, menyisipkan teks, menerapkan perataan & batas teks, mengubah gaya teks, dan banyak lagi.
Konversi Dokumen Microsoft Word Docx ke PDF
Pustaka Java open source docx4j menyediakan dukungan lengkap untuk pembuatan & konversi dokumen docx Microsoft Word ke berbagai format populer. Di sana docx4j menyediakan 3 cara berbeda untuk mengonversi dokumen docx Microsoft Word ke PDF. Contoh berikut menggunakan document4j (berjalan dari jarak jauh) untuk mengonversi file docx ke PDF.
Konversi Dokumen EWord Docx ke PDF melalui 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();
}
}