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 시작하기
먼저 시스템에 JDK(Java Development Kit)가 설치되어 있어야 합니다. Maven 기반 Java 프로젝트에서 DOCX4J를 참조하는 것은 훨씬 더 간단합니다. pom.xml에 다음 종속성을 추가하고 IDE가 DOCX4J Jar 파일을 가져와 참조하도록 하기만 하면 됩니다.
DOCX4J 메이븐 종속성
<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 무료 만들기 - 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 무료에서 텍스트 추출 - 자바
// 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를 사용하면 소프트웨어 프로그래머가 DOCX 파일 형식으로 새 Word 문서를 만들 수 있습니다. 개발자는 기존 Microsoft Word DOCX 파일을 로드하여 응용 프로그램 요구 사항에 따라 편집할 수도 있습니다. 새 단락을 추가하고, 텍스트를 삽입하고, 텍스트 정렬 및 테두리를 적용하고, 텍스트 스타일을 변경하는 등의 작업을 수행할 수 있습니다.
Microsoft Word Docx 문서를 PDF로 변환
오픈 소스 Java 라이브러리 docx4j는 Microsoft Word docx 문서 생성 및 널리 사용되는 다양한 형식으로의 변환을 완벽하게 지원합니다. docx4j는 Microsoft Word docx 문서를 PDF로 변환하는 3가지 방법을 제공합니다. 다음 예제에서는 문서4j(원격으로 실행)를 사용하여 docx 파일을 PDF로 변환합니다.
Java를 통해 EWord Docx 문서를 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();
}
}