Java - Word 문서에서 텍스트를 바꾸는 방법
종속성 추가
방법 1: maven을 사용하는 경우 프로젝트의 pom.xml 파일에 다음 코드를 추가하여 애플리케이션에서 JAR 파일을 쉽게 가져올 수 있습니다.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
방법 2: maven을 사용하지 않는 경우 this link에서 JAR 파일을 다운로드하고 zip 파일을 추출한 다음 lib 폴더 아래의 Spire.Doc.jar 파일을 프로젝트에 종속 항목으로 가져올 수 있습니다.
문서의 텍스트 바꾸기
무료 Spire.Doc for Java는 Word 문서를 나타내는 문서 클래스를 제공합니다. 이 클래스는 개발자가 문서 내의 특정 텍스트를 바꿀 수 있는 바꾸기 메서드를 노출합니다.
다음 코드 예제에서는 Java를 사용하여 Word 문서의 텍스트를 바꾸는 방법을 설명합니다.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
public class ReplaceTextInDocument {
public static void main(String []args){
//Load a Word document
Document document = new Document("Input.docx");
// Replace a specific text
document.replace("Java", "Replace", false, true);
//Save the result document
document.saveToFile("ReplaceTextInDocument.docx", FileFormat.Docx);
}
}
테이블의 텍스트 바꾸기
위의 예는 전체 문서 내에서 발생하는 모든 텍스트를 바꿉니다. 특정 테이블 내의 텍스트만 바꾸려는 경우 Table 클래스의 replace 메서드를 사용하여 이 작업을 구현할 수 있습니다.
다음 코드 예제에서는 Java를 사용하여 Word 문서의 테이블에 있는 텍스트를 바꾸는 방법을 설명합니다.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.Table;
import java.util.HashMap;
import java.util.Map;
public class ReplaceTextInTable {
public static void main(String []args){
//Load a Word document
Document document = new Document("Table.docx");
//Get the first section
Section section = document.getSections().get(0);
//Get the first table in the section
Table table = section.getTables().get(0);
//Create a map of values
Map<String, String> map = new HashMap();
map.put("$name","Alex Brian");
map.put("$age","28");
map.put("$gender","Male");
map.put("$phone","(555)85430000");
map.put("$address","Brooklyn, NY 11201");
map.put("$email","[email protected]");
//Replace text in the table
for (Map.Entry<String, String> entry : map.entrySet()) {
table.replace(entry.getKey(), entry.getValue(), false, true);
}
//Save the result document
document.saveToFile("ReplaceTextInTable.docx", FileFormat.Docx_2013);
}
}
텍스트를 이미지로 바꾸기
실제로 Free Spire.Doc for Java는 텍스트를 이미지로 대체하는 직접적인 방법을 제공하지 않습니다. 이 기능은 텍스트의 인덱스 위치를 찾고 해당 위치에 이미지를 삽입한 다음 문서에서 텍스트를 제거하여 얻을 수 있습니다.
다음 코드 예제에서는 Java를 사용하여 Word 문서에서 텍스트를 이미지로 바꾸는 방법을 설명합니다.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextRange;
public class ReplaceTextWithImage {
public static void main(String []args){
//Load a Word document
Document document = new Document("ReplaceTextInTable.docx");
//Search for text
TextSelection textSelection = document.findString("$photo", false, true);
//Load an image
DocPicture pic = new DocPicture(document);
pic.loadImage("photo.png");
//Get the index position of the text
TextRange range = textSelection.getAsOneRange();
int index = range.getOwnerParagraph().getChildObjects().indexOf(range);
//Insert the image to the position
range.getOwnerParagraph().getChildObjects().insert(index,pic);
//Remove the text
range.getOwnerParagraph().getChildObjects().remove(range);
//Save the result document
document.saveToFile("ReplaceTextWithImage.docx", FileFormat.Docx_2013);
}
}
정규식(RegEx)을 사용하여 텍스트 바꾸기
정규식은 정규식 엔진이 입력 텍스트에서 일치를 시도하는 패턴입니다. 강력하고 유연하며 효율적인 텍스트 처리 방법을 제공합니다.
다음 코드 예제에서는 Java를 사용하여 Word에서 텍스트를 정규식으로 바꾸는 방법을 설명합니다.
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import java.util.regex.Pattern;
public class ReplaceTextByRegEx {
public static void main(String []args){
//Create word document
Document doc = new Document();
// Load the document from disk.
doc.loadFromFile("Regex.docx");
//Create a RegEx to replace text starting with #
Pattern regex=Pattern.compile("\\#\\w+\\b");
//Replace text by the regex
doc.replace(regex,"KeyBoard");
//Save the result document
doc.saveToFile("ReplaceTextByRegex.docx", FileFormat.Docx_2013);
}
}
결론
이 문서에서는 Word 문서의 텍스트를 바꾸는 몇 가지 시나리오를 소개했습니다. 설명된 시나리오 외에도 Free Spire.Doc for Java 라이브러리를 사용하여 텍스트를 Word 문서로 교체하고, 텍스트를 HTML로 교체하고, 텍스트를 테이블로 교체하는 등의 작업을 수행할 수 있습니다. . 관심 있으신 분들은 직접 해보셔도 좋습니다.
Reference
이 문제에 관하여(Java - Word 문서에서 텍스트를 바꾸는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexis92/java-how-to-replace-text-in-word-documents-5fpn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)