Java - Word 문서에 WordArt 삽입 또는 읽기

14178 단어 javawordartword
WordArt는 채우기, 윤곽선 및 그림자와 같은 디자인 요소를 텍스트에 추가할 수 있는 텍스트 스타일 집합입니다. WordArt를 삽입하면 텍스트를 눈에 잘 띄게 만들 수 있습니다. Microsoft Word에서 문서를 만들 때 WordArt를 삽입해야 하는 경우가 있습니다. 이 기사에서는 Free Spire.Doc for Java 라이브러리를 사용하여 Java에서 Word 문서에 WordArt를 삽입하거나 읽는 방법을 설명합니다.

종속성 추가



코딩하기 전에 Free Spire.Doc for Java를 Java 프로젝트에 포함하는 데 필요한 종속성을 추가해야 합니다. 두 가지 방법이 있습니다.

방법 1: maven을 사용하는 경우 프로젝트의 pom.xml 파일에 다음 코드를 추가하여 Java용 Free Spire.Doc의 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에서 Java용 무료 Spire.Doc을 다운로드하고 zip 파일을 추출한 다음 lib 폴더 아래의 Spire.Doc.jar 파일을 프로젝트에 종속 항목으로 가져올 수 있습니다.

Java를 사용하여 WordArt를 Word에 삽입



다음은 WordArt를 Word 문서에 삽입하는 주요 단계입니다.
  • Document 클래스의 인스턴스를 만듭니다.
  • Document.loadFromFile() 메서드를 사용하여 Word 문서를 로드합니다.
  • Document.getSections().get(sectionIndex) 메서드를 사용하여 문서의 원하는 섹션을 가져옵니다.
  • Section.addParagraph() 메서드를 사용하여 섹션에 단락을 추가합니다.
  • Paragraph.appendShape() 메서드를 사용하여 지정된 크기 및 유형의 도형을 단락에 추가합니다.
  • 모양의 위치를 ​​설정합니다.
  • ShapeObject.getWordArt().setText() 메서드를 사용하여 지정된 텍스트가 있는 WordArt를 도형에 삽입합니다.
  • WordArt의 채우기 색상 및 테두리 색상을 설정합니다.
  • Document.saveToFile() 메서드를 사용하여 결과 문서를 저장합니다.

  • import com.spire.doc.Document;
    import com.spire.doc.FileFormat;
    import com.spire.doc.Section;
    import com.spire.doc.documents.Paragraph;
    import com.spire.doc.documents.ShapeType;
    import com.spire.doc.fields.ShapeObject;
    
    import java.awt.*;
    
    public class InsertWordArtInWord {
        public static void main(String[] args){
            //Create a Document instance
            Document doc = new Document();
            //Load a Word document
            doc.loadFromFile("input.docx");
    
            //Get the first section
            Section section = doc.getSections().get(0);
            //Add a paragraph to the section
            Paragraph paragraph = section.addParagraph();
    
            //Add a shape to the paragraph
            ShapeObject shape = paragraph.appendShape(250, 70, ShapeType.Text_Wave_3);
    
            //Set the position of the shape
            shape.setVerticalPosition(20);
            shape.setHorizontalPosition(80);
    
            //Set the text of WordArt
            shape.getWordArt().setText("Happy Birthday");
    
            //Set the fill color
            shape.setFillColor(Color.orange);
    
            //Set the border color of the text.
            shape.setStrokeColor(Color.YELLOW);
    
            //Save the result document
            doc.saveToFile("InsertWordArt.docx", FileFormat.Docx);
        }
    }
    




    Java를 사용하여 Word에서 WordArt 읽기



    다음은 Word 문서에서 WordArt를 읽는 주요 단계입니다.
  • Document 클래스의 인스턴스를 만듭니다.
  • Document.loadFromFile() 메서드를 사용하여 Word 문서를 로드합니다.
  • 문서의 모든 섹션을 반복합니다.
  • 각 섹션의 모든 단락을 반복합니다.
  • 각 단락의 모든 하위 개체를 반복합니다.
  • 하위 개체가 ShapeObject인지 감지합니다.
  • ShapeObject.getWordArt().getText() 메서드를 사용하여 도형 객체에서 WordArt 텍스트를 가져옵니다.
  • 텍스트가 null이 아닌 경우 콘솔에 인쇄합니다.

  • import com.spire.doc.Document;
    import com.spire.doc.DocumentObject;
    import com.spire.doc.Section;
    import com.spire.doc.documents.Paragraph;
    import com.spire.doc.fields.ShapeObject;
    
    public class ReadWordArt {
        public static void main(String[] args){
            //Create a Document instance
            Document doc = new Document();
            //Load a word document
            doc.loadFromFile("InsertWordArt.docx");
    
            //Loop through all the sections in the document
            for (Section section :(Iterable<? extends Section>) doc.getSections()) {
                //Loop through all the paragraphs in each section
                for (Paragraph paragraph : (Iterable<? extends Paragraph>) section.getBody().getParagraphs()) {
                    //Loop through all the child objects in each paragraph
                    for (DocumentObject documentObject : (Iterable<? extends DocumentObject>) paragraph.getChildObjects()) {
                        //Detect if the child object is a shape
                        if (documentObject instanceof ShapeObject) {
                            ShapeObject shapeObject = (ShapeObject) documentObject;
                            //Detect if the shape is a WordArt
                            String text = shapeObject.getWordArt().getText();
                            if (text != "") {
                                //Read the WordArt text
                                System.out.println("WordArt Text:" + text);
                            }
                        }
                    }
                }
            }
        }
    }
    


    좋은 웹페이지 즐겨찾기