Word DOCX ドキュメント用のオープンソース Java API
Microsoft Word DOCX ファイルを作成、読み取り、編集、変換し、Java ライブラリを介してテキストと表を追加します。
DOCX4J は、Microsoft Office ファイル形式を操作するための JAXB ベースのオープン ソース (Apache v2) ライブラリです。 Microsoft Word 2007 DOCX ファイル形式の読み取り、書き込み、編集、および保存する機能を提供します。
DOCX4J は Microsoft の OpenXML SDK に似ていますが、Java 用です。 JAXB を使用してメモリ内オブジェクト表現を作成します。 API を使用すると、Mircosoft Office ドキュメントの生成、編集、テキストと段落の書式設定、表と画像の挿入、その他のフォーム要素の管理などを行うことができます。基本的に、その強調はパワーに重点を置いています。形式がサポートしている場合は、API を使用して実行できます。
DOCX4J 入門
まず、システムに Java Development Kit (JDK) をインストールする必要があります。 Maven ベースの Java プロジェクトで DOCX4J を参照するのはさらに簡単です。必要なのは、pom.xml に次の依存関係を追加し、IDE が DOCX4J Jar ファイルを取得して参照できるようにすることだけです。
DOCX4J 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>
Word 文書に段落、画像、表を追加する
DOCX4J を使用すると、開発者は段落と画像を Word ドキュメントに追加できます。この API は、DOCX ドキュメントにテーブルを追加する機能も提供し、ユーザー定義データを使用して単純なネストされたテーブルを作成できるようにします。
DOCX4J を使用して DOCX Free を作成する - 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"));
DOCX からテキストを抽出する
DOCX4J は、わずか数行のコードで Microsoft Word DOCX ドキュメントからデータを抽出するための特殊なクラスを提供します。同様に、Word ファイルから見出し、脚注、表データなどを抽出することもできます。
無料の DOCX からテキストを抽出する - 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);
}
Java API を使用して Word 文書を生成および編集する
DOCX4J を使用すると、ソフトウェア プログラマーは新しい Word ドキュメントを DOCX ファイル形式で作成できます。開発者は、既存の Microsoft Word DOCX ファイルを読み込んで、アプリケーションのニーズに合わせて編集することもできます。新しい段落の追加、テキストの挿入、テキストの配置と境界線の適用、テキスト スタイルの変更などを行うことができます。
Microsoft Word Docx ドキュメントを PDF に変換
オープン ソース Java ライブラリ docx4j は、Microsoft Word docx ドキュメントの生成とさまざまな一般的な形式への変換を完全にサポートします。 docx4j は、Microsoft Word docx ドキュメントを PDF に変換する 3 つの異なる方法を提供します。次の例では、documents4j (リモートで実行) を使用して docx ファイルを PDF に変換します。
EWord Docx Documents Java 経由の PDF への変換
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();
}
}