Open Source Java API til Word DOCX Documents
Opret, læs, rediger og konverter Microsoft Word DOCX-filer, tilføj tekst og tabeller via Java-bibliotek.
DOCX4J er JAXB-baseret open source (Apache v2) bibliotek til at manipulere Microsoft Office-filformater. Det giver funktionaliteten til at læse, skrive, redigere og gemme Microsoft Word 2007 DOCX-filformat.
DOCX4J ligner Microsofts OpenXML SDK, men til Java. Den bruger JAXB til at skabe objektrepræsentationen i hukommelsen. Ved at bruge API'et kan du generere Mircosoft Office-dokumenter, redigere dem, formatere tekst og afsnit, indsætte tabeller og billeder og administrere andre formularelementer og meget mere. Dybest set er dens vægt på magt, hvis formatet understøtter det, kan du gøre det ved hjælp af API.
Kom godt i gang med DOCX4J
Først og fremmest skal du have Java Development Kit (JDK) installeret på dit system. Det er endnu nemmere at henvise til DOCX4J i dit Maven-baserede Java-projekt. Alt du behøver er at tilføje følgende afhængighed i din pom.xml og lade din IDE hente og referere til DOCX4J Jar-filerne.
DOCX4J Maven afhængighed
<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>
Føj afsnit, billede og tabel til Word-dokumenter
DOCX4J giver udviklerne mulighed for at tilføje afsnit og billeder til Word-dokumenter. API'en giver også funktionen til at tilføje tabeller til DOCX-dokumenter, mens det gør det muligt at oprette enkle og indlejrede tabeller med brugerdefinerede data.
Opret DOCX gratis ved hjælp af 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"));
Uddrag tekst fra DOCX
DOCX4J leverer den specialiserede klasse til at udtrække data fra Microsoft Word DOCX-dokumenter med blot et par linjer kode. På samme måde kan den også udtrække overskrifter, fodnoter, tabeldata og så videre fra en Word-fil.
Uddrag tekst fra 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);
}
Generer og rediger Word-dokumenter ved hjælp af Java API
DOCX4J gør det muligt for softwareprogrammører at oprette nye Word-dokumenter i DOCX-filformat. Udviklere kan også indlæse en eksisterende Microsoft Word DOCX-fil for at redigere den i overensstemmelse med deres applikationsbehov. Det giver dig mulighed for at tilføje nye afsnit, indsætte tekst, anvende tekstjustering og rammer, ændre tekststil og mere.
Konverter Microsoft Word Docx-dokumenter til PDF
Open source Java-biblioteket docx4j giver komplet support til Microsoft Word docx-dokumentgenerering og konvertering til forskellige populære formater. Der giver docx4j 3 forskellige måder at konvertere Microsoft Word docx-dokumenter til PDF. Følgende eksempel bruger documents4j (kører eksternt) til at konvertere en docx-fil til PDF.
EWord Docx-dokumentkonvertering 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();
}
}