Open Source Java API pro dokumenty Word DOCX

Vytvářejte, čtěte, upravujte a převádějte soubory Microsoft Word DOCX, přidávejte text a tabulky prostřednictvím knihovny Java.

DOCX4J je otevřená knihovna založená na JAXB (Apache v2) pro manipulaci s formáty souborů Microsoft Office. Poskytuje funkce pro čtení, zápis, úpravy a ukládání souborů ve formátu DOCX aplikace Microsoft Word 2007.

DOCX4J je podobný OpenXML SDK od Microsoftu, ale pro Javu. K vytvoření reprezentace objektů v paměti používá JAXB. Pomocí API můžete generovat dokumenty Mircosoft Office, upravovat je, formátovat text a odstavce, vkládat tabulky a obrázky a spravovat další prvky formuláře a mnoho dalšího. V zásadě se klade důraz na výkon, pokud to formát podporuje, můžete to udělat pomocí API.

Previous Next

Začínáme s DOCX4J

Nejprve musíte mít na svém systému nainstalovanou sadu Java Development Kit (JDK). Odkazování na DOCX4J ve vašem projektu Java založeném na Maven je ještě jednodušší. Vše, co potřebujete, je přidat následující závislost do vašeho pom.xml a nechat vaše IDE načíst a odkazovat na soubory DOCX4J Jar.

DOCX4J Maven závislost

<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>
  

Přidejte odstavec, obrázek a tabulku do dokumentů aplikace Word

DOCX4J umožňuje vývojářům přidávat odstavce a obrázky do dokumentů aplikace Word. Rozhraní API také poskytuje funkci pro přidávání tabulek do dokumentů DOCX a zároveň umožňuje vytvářet jednoduché a vnořené tabulky s uživatelsky definovanými daty.

Vytvořte DOCX Free pomocí 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"));

Extrahujte text z DOCX

DOCX4J poskytuje speciální třídu pro extrahování dat z dokumentů DOCX aplikace Microsoft Word pomocí několika řádků kódu. Stejným způsobem může také extrahovat nadpisy, poznámky pod čarou, data tabulek a tak dále ze souboru aplikace Word.

Extrahovat text z DOCX zdarma - 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);
}                 

Vytvářejte a upravujte dokumenty Word pomocí Java API

DOCX4J umožňuje softwarovým programátorům vytvářet nové dokumenty Word ve formátu DOCX. Vývojáři mohou také načíst existující soubor DOCX aplikace Microsoft Word a upravit jej podle potřeb své aplikace. Umožňuje vám přidávat nové odstavce, vkládat text, používat zarovnání textu a ohraničení, měnit styl textu a další.

Převeďte dokumenty Microsoft Word Docx do PDF

Open source Java knihovna docx4j poskytuje kompletní podporu pro generování a konverzi dokumentů Microsoft Word docx do různých populárních formátů. Dokument docx4j poskytuje 3 různé způsoby, jak převést dokumenty docx aplikace Microsoft Word do formátu PDF. Následující příklad používá documents4j (spuštěný vzdáleně) k převodu souboru docx do PDF.

Převod dokumentů EWord Docx do PDF přes 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();
}
}
 Čeština