Word DOCX Belgeleri için Açık Kaynak Java API'si
Microsoft Word DOCX dosyalarını oluşturun, okuyun, düzenleyin ve dönüştürün, Java kitaplığı aracılığıyla metin ve tablolar ekleyin.
DOCX4J, Microsoft Office dosya biçimlerini işlemek için JAXB tabanlı açık kaynak (Apache v2) kitaplığıdır. Microsoft Word 2007 DOCX dosya biçimini okuma, yazma, düzenleme ve kaydetme işlevselliği sağlar.
DOCX4J, Microsoft'un OpenXML SDK'sına benzer, ancak Java için. Bellek içi nesne temsilini oluşturmak için JAXB'yi kullanır. API'yi kullanarak Mircosoft Office belgeleri oluşturabilir, bunları düzenleyebilir, metin ve paragrafları biçimlendirebilir, tablolar ve resimler ekleyebilir ve diğer form öğelerini yönetebilir ve çok daha fazlasını yapabilirsiniz. Temel olarak, vurgu güç üzerindedir, eğer format destekliyorsa API kullanarak yapabilirsiniz.
DOCX4J'ye Başlarken
Öncelikle sisteminizde Java Development Kit (JDK) kurulu olmalıdır. Maven tabanlı Java projenizde DOCX4J'ye başvurmak daha da basittir. Tek ihtiyacınız olan, pom.xml dosyanıza aşağıdaki bağımlılığı eklemek ve IDE'nizin DOCX4J Jar dosyalarını almasına ve referans vermesine izin vermektir.
DOCX4J Maven Bağımlılığı
<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 Belgelerine Paragraf, Resim ve Tablo Ekleme
DOCX4J, geliştiricilerin Word belgelerine paragraflar ve resimler eklemesine olanak tanır. API, kullanıcı tanımlı verilerle basit ve iç içe geçmiş tablolar oluşturmayı mümkün kılarken DOCX belgelerine tablo ekleme özelliğini de sağlar.
DOCX4J kullanarak Ücretsiz DOCX oluşturun - 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'ten Metin Çıkarma
DOCX4J, yalnızca birkaç satır kodla Microsoft Word DOCX belgelerinden veri ayıklamak için özel sınıf sağlar. Aynı şekilde, bir Word dosyasından başlıkları, dipnotları, tablo verilerini vb. çıkarabilir.
DOCX Free'den Metin Çıkarma - 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);
}
Java API kullanarak Word Belgeleri Oluşturun ve Düzenleyin
DOCX4J, yazılım programcılarının DOCX dosya formatında yeni Word Belgeleri oluşturmasını sağlar. Geliştiriciler, uygulama ihtiyaçlarına göre düzenlemek için mevcut bir Microsoft Word DOCX dosyasını da yükleyebilir. Yeni paragraflar eklemenize, metin eklemenize, metin hizalama ve kenarlıklar uygulamanıza, metin stilini değiştirmenize ve daha pek çok şeye olanak tanır.
Microsoft Word Docx Belgelerini PDF'ye Dönüştür
Açık kaynak Java kitaplığı docx4j, Microsoft Word docx belgelerinin oluşturulması ve çeşitli popüler biçimlere dönüştürülmesi için tam destek sağlar. Orada docx4j, Microsoft Word docx belgelerini PDF'ye dönüştürmek için 3 farklı yol sunar. Aşağıdaki örnek, bir docx dosyasını PDF'ye dönüştürmek için document4j'yi (uzaktan çalışan) kullanır.
EWord Docx Belgelerinin Java ile PDF'ye Dönüştürülmesi
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();
}
}