Open Source Java API for Word DOCX Documents

Opprett, les, rediger og konverter Microsoft Word DOCX-filer, legg til tekst og tabeller via Java-biblioteket.

DOCX4J er JAXB-basert åpen kildekode (Apache v2) bibliotek for manipulering av Microsoft Office-filformater. Den gir funksjonaliteten til å lese, skrive, redigere og lagre Microsoft Word 2007 DOCX-filformat.

DOCX4J ligner på Microsofts OpenXML SDK, men for Java. Den bruker JAXB til å lage objektrepresentasjonen i minnet. Ved å bruke API kan du generere Mircosoft Office-dokumenter, redigere dem, formatere tekst og avsnitt, sette inn tabeller og bilder og administrere andre skjemaelementer og mye mer. I utgangspunktet er det lagt vekt på kraft, hvis formatet støtter det kan du gjøre det ved å bruke API.

Previous Next

Komme i gang med DOCX4J

Først av alt må du ha Java Development Kit (JDK) installert på systemet ditt. Å referere til DOCX4J i ditt Maven-baserte Java-prosjekt er enda enklere. Alt du trenger er å legge til følgende avhengighet i pom.xml og la IDE-en hente og referere til DOCX4J Jar-filene.

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>
  

Legg til avsnitt, bilde og tabell i Word-dokumenter

DOCX4J lar utviklerne legge til avsnitt og bilder i Word-dokumenter. API-en gir også funksjonen for å legge til tabeller i DOCX-dokumenter, samtidig som det gjør det mulig å lage enkle og nestede tabeller med brukerdefinerte data.

Lag DOCX Free ved å bruke 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"));

Trekk ut tekst fra DOCX

DOCX4J tilbyr den spesialiserte klassen for å trekke ut data fra Microsoft Word DOCX-dokumenter med bare noen få linjer med kode. På samme måte kan den også trekke ut overskrifter, fotnoter, tabelldata og så videre fra en Word-fil.

Trekk ut tekst fra DOCX Free - 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);
}                 

Generer og rediger Word-dokumenter ved hjelp av Java API

DOCX4J gjør det mulig for programmerere å lage nye Word-dokumenter i DOCX-filformat. Utviklere kan også laste inn en eksisterende Microsoft Word DOCX-fil for å redigere den i henhold til applikasjonsbehovene deres. Den lar deg legge til nye avsnitt, sette inn tekst, bruke tekstjustering og kantlinjer, endre tekststil og mer.

Konverter Microsoft Word Docx-dokumenter til PDF

Java-biblioteket med åpen kildekode docx4j gir fullstendig støtte for generering og konvertering av Microsoft Word docx-dokumenter til forskjellige populære formater. Der docx4j gir 3 forskjellige måter å konvertere Microsoft Word docx-dokumenter til PDF. Følgende eksempel bruker documents4j (kjører eksternt) for å konvertere en docx-fil til PDF.

Konvertering av EWord Docx-dokumenter til 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();
}
}
 Norsk