Open Source Java API voor Word DOCX-documenten
Maak, lees, bewerk en converteer Microsoft Word DOCX-bestanden, voeg tekst en tabellen toe via de Java-bibliotheek.
DOCX4J is een op JAXB gebaseerde open source (Apache v2) bibliotheek voor het manipuleren van Microsoft Office-bestandsindelingen. Het biedt de functionaliteit om de Microsoft Word 2007 DOCX-bestandsindeling te lezen, schrijven, bewerken en opslaan.
DOCX4J is vergelijkbaar met Microsoft's OpenXML SDK, maar dan voor Java. Het gebruikt JAXB om de objectrepresentatie in het geheugen te creëren. Met behulp van de API kunt u Mircosoft Office-documenten genereren, bewerken, de tekst en alinea's opmaken, tabellen en afbeeldingen invoegen en andere formulierelementen beheren, en nog veel meer. Kortom, de nadruk ligt op kracht, als het formaat dit ondersteunt, kunt u het doen met behulp van de API.
Aan de slag met DOCX4J
Allereerst moet u de Java Development Kit (JDK) op uw systeem hebben geïnstalleerd. Verwijzen naar DOCX4J in uw op Maven gebaseerde Java-project is nog eenvoudiger. Het enige dat u nodig hebt, is de volgende afhankelijkheid toe te voegen aan uw pom.xml en uw IDE de DOCX4J Jar-bestanden te laten ophalen en ernaar te laten verwijzen.
DOCX4J Maven-afhankelijkheid
<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>
Paragraaf, afbeelding en tabel toevoegen aan Word-documenten
Met DOCX4J kunnen ontwikkelaars alinea's en afbeeldingen toevoegen aan Word-documenten. De API biedt ook de functie om tabellen toe te voegen aan DOCX-documenten en maakt het mogelijk om eenvoudige en geneste tabellen te maken met door de gebruiker gedefinieerde gegevens.
Maak DOCX gratis met 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"));
Tekst extraheren uit DOCX
DOCX4J biedt de gespecialiseerde klasse om gegevens uit Microsoft Word DOCX-documenten te extraheren met slechts een paar regels code. Op dezelfde manier kan het ook koppen, voetnoten, tabelgegevens, enzovoort extraheren uit een Word-bestand.
Tekst extraheren uit 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);
}
Genereer en bewerk Word-documenten met behulp van Java API
DOCX4J stelt softwareprogrammeurs in staat om nieuwe Word-documenten te maken in DOCX-bestandsindeling. Ontwikkelaars kunnen ook een bestaand Microsoft Word DOCX-bestand laden om het te bewerken volgens hun toepassingsbehoeften. Hiermee kunt u nieuwe alinea's toevoegen, tekst invoegen, tekstuitlijning en randen toepassen, tekststijl wijzigen en meer.
Converteer Microsoft Word Docx-documenten naar PDF
De open source Java-bibliotheek docx4j biedt volledige ondersteuning voor het genereren en converteren van Microsoft Word docx-documenten naar verschillende populaire formaten. Daar biedt docx4j 3 verschillende manieren om Microsoft Word docx-documenten naar PDF te converteren. In het volgende voorbeeld wordt documenten4j (op afstand uitgevoerd) gebruikt om een docx-bestand naar PDF te converteren.
EWord Docx Documenten Conversie naar PDF via 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();
}
}