API Java open source per documenti Word DOCX
Crea, leggi, modifica e converti file Microsoft Word DOCX, aggiungi testo e tabelle tramite la libreria Java.
DOCX4J è una libreria open source (Apache v2) basata su JAXB per la manipolazione dei formati di file di Microsoft Office. Fornisce la funzionalità per leggere, scrivere, modificare e salvare il formato di file DOCX di Microsoft Word 2007.
DOCX4J è simile all'SDK OpenXML di Microsoft, ma per Java. Utilizza JAXB per creare la rappresentazione dell'oggetto in memoria. Utilizzando l'API puoi generare documenti di Mircosoft Office, modificarli, formattare il testo e i paragrafi, inserire tabelle e immagini e gestire altri elementi del modulo e molto altro. Fondamentalmente, la sua enfasi è sulla potenza, se il formato lo supporta puoi farlo usando l'API.
Guida introduttiva a DOCX4J
Prima di tutto, devi avere il Java Development Kit (JDK) installato sul tuo sistema. Fare riferimento a DOCX4J nel tuo progetto Java basato su Maven è ancora più semplice. Tutto ciò di cui hai bisogno è aggiungere la seguente dipendenza nel tuo pom.xml e lasciare che il tuo IDE prenda e faccia riferimento ai file Jar DOCX4J.
DOCX4J Dipendenza da Maven
<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>
Aggiungi paragrafo, immagine e tabella ai documenti di Word
DOCX4J consente agli sviluppatori di aggiungere paragrafi e immagini ai documenti di Word. L'API fornisce anche la funzione per aggiungere tabelle ai documenti DOCX, rendendo possibile creare tabelle semplici e nidificate con dati definiti dall'utente.
Crea DOCX Free usando 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"));
Estrai testo da DOCX
DOCX4J fornisce la classe specializzata per estrarre dati da documenti Microsoft Word DOCX con poche righe di codice. Allo stesso modo, può anche estrarre intestazioni, note a piè di pagina, dati di tabelle e così via da un file di Word.
Estrai testo da DOCX gratuito - 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);
}
Genera e modifica documenti Word utilizzando l'API Java
DOCX4J consente ai programmatori di software di creare nuovi documenti Word in formato file DOCX. Gli sviluppatori possono anche caricare un file DOCX di Microsoft Word esistente per modificarlo in base alle proprie esigenze applicative. Ti consente di aggiungere nuovi paragrafi, inserire testo, applicare l'allineamento e i bordi del testo, modificare lo stile del testo e altro ancora.
Converti documenti Microsoft Word Docx in PDF
La libreria Java open source docx4j fornisce supporto completo per la generazione e la conversione di documenti Microsoft Word docx in vari formati popolari. Lì docx4j offre 3 modi diversi per convertire i documenti docx di Microsoft Word in PDF. L'esempio seguente utilizza documents4j (in esecuzione in remoto) per convertire un file docx in PDF.
Conversione di documenti EWord Docx in PDF tramite 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();
}
}