Avoimen lähdekoodin Java API Word DOCX dokumenteille
Luo, lue, muokkaa ja muunna Microsoft Word DOCX -tiedostoja, lisää tekstiä ja taulukoita Java-kirjaston kautta.
DOCX4J on JAXB-pohjainen avoimen lähdekoodin (Apache v2) kirjasto Microsoft Office -tiedostomuotojen käsittelyyn. Se tarjoaa toiminnot, joiden avulla voit lukea, kirjoittaa, muokata ja tallentaa Microsoft Word 2007 DOCX -tiedostomuotoa.
DOCX4J on samanlainen kuin Microsoftin OpenXML SDK, mutta Javalle. Se käyttää JAXB:tä luodakseen muistissa olevan objektiesityksen. API:n avulla voit luoda Mircosoft Office -asiakirjoja, muokata niitä, muotoilla tekstiä ja kappaleita, lisätä taulukoita ja kuvia sekä hallita muita lomakeelementtejä ja paljon muuta. Pohjimmiltaan sen painopiste on tehossa, jos muoto tukee sitä, voit tehdä sen API:lla.
DOCX4J:n käytön aloittaminen
Ensinnäkin, sinun on oltava Java Development Kit (JDK) asennettuna järjestelmääsi. DOCX4J:n käyttäminen Maven-pohjaisessa Java-projektissasi on vielä yksinkertaisempaa. Sinun tarvitsee vain lisätä seuraava riippuvuus pom.xml-tiedostoosi ja antaa IDE:n hakea ja viitata DOCX4J Jar -tiedostoihin.
DOCX4J Maven-riippuvuus
<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>
Lisää kappale, kuva ja taulukko Word-asiakirjoihin
DOCX4J:n avulla kehittäjät voivat lisätä kappaleita ja kuvia Word-asiakirjoihin. API tarjoaa myös ominaisuuden lisätä taulukoita DOCX-dokumentteihin ja mahdollistaa yksinkertaisten ja sisäkkäisten taulukoiden luomisen käyttäjän määrittämillä tiedoilla.
Luo DOCX Free käyttämällä DOCX4J - Javaa
// 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"));
Pura teksti DOCX:stä
DOCX4J tarjoaa erikoisluokan tietojen poimimiseen Microsoft Word DOCX -asiakirjoista vain muutamalla koodirivillä. Samalla tavalla se voi myös poimia otsikoita, alaviitteitä, taulukkotietoja ja niin edelleen Word-tiedostosta.
Pura tekstiä DOCX Free - Javasta
// 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);
}
Luo ja muokkaa Word-asiakirjoja Java API:n avulla
DOCX4J:n avulla ohjelmoijat voivat luoda uusia Word-asiakirjoja DOCX-tiedostomuodossa. Kehittäjät voivat myös ladata olemassa olevan Microsoft Word DOCX -tiedoston muokatakseen sitä sovellustarpeidensa mukaan. Sen avulla voit lisätä uusia kappaleita, lisätä tekstiä, soveltaa tekstin tasausta ja reunuksia, muuttaa tekstin tyyliä ja paljon muuta.
Muunna Microsoft Word Docx -asiakirjat PDF-muotoon
Avoimen lähdekoodin Java-kirjasto docx4j tarjoaa täydellisen tuen Microsoft Word docx -asiakirjojen luomiseen ja muuntamiseen useisiin suosittuihin muotoihin. Siellä docx4j tarjoaa 3 eri tapaa muuntaa Microsoft Word docx -asiakirjoja PDF-muotoon. Seuraava esimerkki käyttää document4j:tä (etäkäyttöä) docx-tiedoston muuntamiseen PDF-muotoon.
EWord Docx -asiakirjojen muuntaminen PDF-muotoon Javan kautta
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();
}
}