Java - Word 문서에서 텍스트를 바꾸는 방법

18522 단어 javawordtextreplace
경우에 따라 Word 문서의 텍스트를 바꿔야 할 수도 있습니다. 예를 들어 문서 전체에서 다른 사람의 이름을 여러 번 잘못 입력하여 올바른 이름으로 업데이트해야 합니다. 또는 자리 표시자 텍스트를 교체하여 템플릿에서 Word 문서를 생성해야 합니다. 이 작업을 자동화하기 위해 이 문서에서는 Free Spire.Doc for Java 라이브러리를 사용하여 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로 교체하고, 텍스트를 테이블로 교체하는 등의 작업을 수행할 수 있습니다. . 관심 있으신 분들은 직접 해보셔도 좋습니다.

    좋은 웹페이지 즐겨찾기