Atvērtā pirmkoda Java API Word DOCX dokumentiem
Izveidojiet, lasiet, rediģējiet un konvertējiet Microsoft Word DOCX failus, pievienojiet tekstu un tabulas, izmantojot Java bibliotēku.
DOCX4J ir uz JAXB balstīta atvērtā pirmkoda (Apache v2) bibliotēka, kas paredzēta Microsoft Office failu formātu manipulēšanai. Tas nodrošina funkcionalitāti, lai lasītu, rakstītu, rediģētu un saglabātu Microsoft Word 2007 DOCX failu formātu.
DOCX4J ir līdzīgs Microsoft OpenXML SDK, bet paredzēts Java. Tas izmanto JAXB, lai izveidotu atmiņas objekta attēlojumu. Izmantojot API, varat ģenerēt Mircosoft Office dokumentus, rediģēt tos, formatēt tekstu un rindkopas, ievietot tabulas un attēlus un pārvaldīt citus veidlapas elementus un daudz ko citu. Būtībā tā uzsvars ir uz jaudu, ja formāts to atbalsta, varat to izdarīt, izmantojot API.
Darba sākšana ar DOCX4J
Pirmkārt, jūsu sistēmā ir jābūt instalētam Java izstrādes komplektam (JDK). Atsauce uz DOCX4J jūsu Maven balstītā Java projektā ir vēl vienkāršāka. Viss, kas jums nepieciešams, ir pievienot tālāk norādīto atkarību savā pom.xml un ļaut IDE ielādēt un atsaukties uz DOCX4J Jar failus.
DOCX4J Maven atkarība
<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>
Pievienojiet Word dokumentiem rindkopu, attēlu un tabulu
DOCX4J ļauj izstrādātājiem pievienot rindkopas un attēlus Word dokumentiem. API nodrošina arī iespēju pievienot tabulas DOCX dokumentiem, vienlaikus ļaujot izveidot vienkāršas un ligzdotas tabulas ar lietotāja definētiem datiem.
Izveidojiet bezmaksas DOCX, izmantojot 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"));
Izvilkt tekstu no DOCX
DOCX4J nodrošina specializētu klasi datu iegūšanai no Microsoft Word DOCX dokumentiem, izmantojot tikai dažas koda rindiņas. Tādā pašā veidā tas var arī iegūt virsrakstus, zemsvītras piezīmes, tabulas datus un tā tālāk no Word faila.
Izvilkt tekstu no DOCX bezmaksas — 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);
}
Ģenerējiet un rediģējiet Word dokumentus, izmantojot Java API
DOCX4J ļauj programmatūras programmētājiem izveidot jaunus Word dokumentus DOCX faila formātā. Izstrādātāji var arī ielādēt esošu Microsoft Word DOCX failu, lai to rediģētu atbilstoši savām lietojumprogrammu vajadzībām. Tas ļauj pievienot jaunas rindkopas, ievietot tekstu, lietot teksta līdzinājumu un apmales, mainīt teksta stilu un veikt citas darbības.
Konvertējiet Microsoft Word Docx dokumentus uz PDF
Atvērtā pirmkoda Java bibliotēka docx4j nodrošina pilnīgu atbalstu Microsoft Word docx dokumentu ģenerēšanai un konvertēšanai dažādos populāros formātos. docx4j nodrošina 3 dažādus veidus, kā pārvērst Microsoft Word docx dokumentus PDF formātā. Nākamajā piemērā tiek izmantots document4j (darbojas attālināti), lai konvertētu docx failu uz PDF.
EWord Docx dokumentu konvertēšana uz PDF, izmantojot 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();
}
}