협업 Java 애플리케이션을 구축할 때 원격으로 Microsoft Word 파일을 편집하는 것은 일반적인 과제입니다. GroupDocs.Editor Cloud SDK for Java는 파일 파싱을 직접 처리하지 않고도 Java에서 Word 문서를 편집할 수 있는 강력한 REST‑based 라이브러리를 제공합니다. 이 가이드에서는 인증 방법, 텍스트 교체, 편집 엔드포인트 호출 및 업데이트된 DOCX 다운로드 방법을 명확한 코드 예제와 성능 팁과 함께 배웁니다.

Java에서 Word 문서 편집하기 - 단계별 가이드

  1. 자격 증명으로 API 클라이언트 구성: Configuration 객체를 생성하고 clientId, clientSecret, 기본 URL을 설정한 다음 ApiClient와 필요한 API들을 인스턴스화합니다.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
config.setBaseUrl("https://api.groupdocs.cloud");

ApiClient apiClient = new ApiClient(config);
EditorApi editorApi = new EditorApi(apiClient);
FilesApi filesApi = new FilesApi(apiClient);
  1. 소스 DOCX에 대한 FileInfo 준비: GroupDocs Cloud 저장소에 저장된 입력 파일의 경로를 정의합니다.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.docx");
  1. ReplaceText 작업 정의: 교체하려는 텍스트가 포함된 ReplaceText 인스턴스를 생성하고 목록에 추가합니다.
ReplaceText replace = new ReplaceText();
replace.setOldValue("Hello");
replace.setNewValue("Hi");
List<ReplaceText> replaceList = new ArrayList<>();
replaceList.add(replace);
  1. EditDocumentOptions를 빌드하고 editDocument 호출: 파일 정보, 편집 옵션 및 출력 설정을 결합한 다음 editDocument 메서드를 호출합니다. 이것은 Java에서 실제로 Word 문서를 편집하는 핵심 단계입니다.
EditOptions editOptions = new EditOptions();
editOptions.setReplaceText(replaceList);

EditDocumentOptions options = new EditDocumentOptions();
options.setFileInfo(fileInfo);
options.setOutputPath("output.docx");
options.setFormat("docx");
options.setEditOptions(editOptions);

EditDocumentRequest editRequest = new EditDocumentRequest(options);
EditDocumentResult editResult = editorApi.editDocument(editRequest);
System.out.println("Document edited. Document ID: " + editResult.getDocumentId());
  1. 편집된 DOCX 파일 다운로드: FilesApi를 사용하여 클라우드 스토리지에서 편집된 파일을 가져옵니다.
DownloadFileRequest downloadRequest = new DownloadFileRequest("output.docx");
InputStream inputStream = filesApi.downloadFile(downloadRequest);
try (FileOutputStream outputStream = new FileOutputStream("downloaded_output.docx")) {
    byte[] buffer = new byte[8192];
    int bytesRead;
    while ((bytesRead = inputStream.read(buffer)) != -1) {
        outputStream.write(buffer, 0, bytesRead);
    }
    System.out.println("Edited document downloaded as downloaded_output.docx");
}

자세한 클래스 정보는 EditorApi 참조 페이지를 확인하십시오.

Java에서 Word 문서 편집을 위한 전체 작업 예제

다음 예제는 GroupDocs.Editor Cloud SDK for Java를 사용하여 텍스트를 교체함으로써 DOCX 파일을 편집하는 방법을 보여줍니다.

import com.groupdocs.editor.cloud.api.EditorApi;
import com.groupdocs.editor.cloud.api.FilesApi;
import com.groupdocs.editor.cloud.client.ApiClient;
import com.groupdocs.editor.cloud.client.ApiException;
import com.groupdocs.editor.cloud.client.Configuration;
import com.groupdocs.editor.cloud.model.EditDocumentOptions;
import com.groupdocs.editor.cloud.model.EditDocumentResult;
import com.groupdocs.editor.cloud.model.EditOptions;
import com.groupdocs.editor.cloud.model.FileInfo;
import com.groupdocs.editor.cloud.model.ReplaceText;
import com.groupdocs.editor.cloud.model.requests.EditDocumentRequest;
import com.groupdocs.editor.cloud.model.requests.DownloadFileRequest;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

public class GroupDocsEditorExample {
    public static void main(String[] args) {
        // Configuration – replace with your actual credentials
        Configuration config = new Configuration();
        config.setClientId("YOUR_CLIENT_ID");
        config.setClientSecret("YOUR_CLIENT_SECRET");
        config.setBaseUrl("https://api.groupdocs.cloud");

ApiClient apiClient = new ApiClient(config);
        EditorApi editorApi = new EditorApi(apiClient);
        FilesApi filesApi = new FilesApi(apiClient);

// Input and output file paths in the cloud storage
        String inputPath = "input.docx";
        String outputPath = "output.docx";

try {
            // Prepare file information
            FileInfo fileInfo = new FileInfo();
            fileInfo.setFilePath(inputPath);

// Define replace text operation
            ReplaceText replace = new ReplaceText();
            replace.setOldValue("Hello");
            replace.setNewValue("Hi");
            List<ReplaceText> replaceList = new ArrayList<>();
            replaceList.add(replace);

// Set edit options
            EditOptions editOptions = new EditOptions();
            editOptions.setReplaceText(replaceList);

// Build edit document options
            EditDocumentOptions options = new EditDocumentOptions();
            options.setFileInfo(fileInfo);
            options.setOutputPath(outputPath);
            options.setFormat("docx");
            options.setEditOptions(editOptions);

// Execute edit operation
            EditDocumentRequest editRequest = new EditDocumentRequest(options);
            EditDocumentResult editResult = editorApi.editDocument(editRequest);
            System.out.println("Document edited. Document ID: " + editResult.getDocumentId());

// Download the edited document
            DownloadFileRequest downloadRequest = new DownloadFileRequest(outputPath);
            InputStream inputStream = filesApi.downloadFile(downloadRequest);
            try (FileOutputStream outputStream = new FileOutputStream("downloaded_output.docx")) {
                byte[] buffer = new byte[8192];
                int bytesRead;
                while ((bytesRead = inputStream.read(buffer)) != -1) {
                    outputStream.write(buffer, 0, bytesRead);
                }
                System.out.println("Edited document downloaded as downloaded_output.docx");
            } finally {
                if (inputStream != null) {
                    inputStream.close();
                }
            }
        } catch (ApiException apiEx) {
            System.err.println("API error: " + apiEx.getMessage());
        } catch (IOException ioEx) {
            System.err.println("IO error: " + ioEx.getMessage());
        }
    }
}

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

Java에서 cURL을 사용하여 REST로 Word 문서 수정

아래는 Java 코드를 작성하지 않고 동일한 텍스트 교체 작업을 수행하는 cURL 워크플로우입니다. 빠른 테스트나 다른 서비스와의 통합에 유용합니다.

  1. 액세스 토큰 얻기 (자리표시자를 귀하의 자격 증명으로 교체하십시오).
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. 소스 DOCX를 클라우드 스토리지에 업로드합니다.
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F "file=@/path/to/local/input.docx"
  1. editDocument 엔드포인트 호출 은 교체 작업을 정의하는 JSON 페이로드와 함께 수행합니다.
curl -X POST "https://api.groupdocs.cloud/v2.0/editor/edit/document" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "fileInfo": { "filePath": "input.docx" },
        "outputPath": "output.docx",
        "format": "docx",
        "editOptions": {
            "replaceText": [
                { "oldValue": "Hello", "newValue": "Hi" }
            ]
        }
      }'
  1. 편집된 파일 다운로드 작업이 성공하면.
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.docx" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o downloaded_output.docx

전체 REST 사양은 API 참조를 확인하십시오.

설치 및 구성 GroupDocs.Editor Cloud SDK for Java

제공된 종속성 스니펫을 사용하여 Maven 프로젝트에 SDK를 추가하십시오.

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-editor-cloud</artifactId>
    <version>25.7</version>
</dependency>

최신 JAR 파일을 다운로드 페이지에서 다운로드하십시오.
Java 런타임이 버전 8 이상인지 확인하고, 클라이언트 ID와 비밀 키가 포함된 유효한 GroupDocs Cloud 계정이 있는지 확인하십시오.

GroupDocs.Editor Cloud SDK for Java의 주요 기능

  • Full Word Editing - DOCX, DOC, 및 ODT 형식의 텍스트, 이미지 및 표를 교체합니다.
  • Cloud Storage Integration - GroupDocs Cloud 스토리지와 직접 연동되어 로컬 파일 처리를 없앱니다.
  • REST API Powered - 모든 작업이 보안 HTTP 호출을 통해 수행되어 마이크로‑서비스 아키텍처에 이상적입니다.
  • Streaming Download - 대용량 문서를 스트리밍하여 메모리 사용량을 최소화합니다.
  • Extensible Options - EditOptions를 통해 편집 동작을 세밀하게 조정할 수 있습니다(예: 텍스트 교체, 주석 제거).

자세한 내용은 공식 문서를 참조하십시오.

문서 편집 옵션 구성

EditOptions 객체를 사용하면 적용할 변경 사항을 지정할 수 있습니다. 예제에서는 replaceText를 사용했지만, 주석 제거나 필드 업데이트와 같은 다른 작업도 구성할 수 있습니다.

EditOptions editOptions = new EditOptions();
editOptions.setReplaceText(replaceList); // replaceList defined earlier

추가 옵션인 removeComments 또는 updateFields는 API 참조에 문서화되어 있습니다.

REST를 통한 Word 편집 시 성능 고려 사항

  • 스트리밍 사용: SDK는 파일 내용을 스트리밍하여 대용량 DOCX 파일의 힙 사용량을 줄입니다.
  • 배치 교체: 여러 ReplaceText 객체를 하나의 요청에 결합하여 반복적인 네트워크 호출을 방지합니다.
  • 클라우드에 파일 보관: 클라우드에 저장된 파일에 직접 편집 작업을 수행하면 대용량 바이너리를 여러 번 업로드 및 다운로드하는 오버헤드를 피할 수 있습니다.
  • ApiClient 재사용: ApiClient를 한 번 인스턴스화하고 여러 편집 작업에 재사용하여 연결 풀링의 이점을 얻습니다.

결론

Java에서 Word 문서를 편집하는 것이 GroupDocs.Editor Cloud SDK for Java을(를) 사용하면 간단해집니다. 여기에서 제시한 단계, 코드 예제 및 cURL 워크플로를 따라 하면 강력한 문서‑편집 기능을 모든 Java 백엔드 서비스에 통합할 수 있습니다. 클라이언트 자격 증명을 안전하게 보관하고, 임시 라이선스 페이지에서 임시 라이선스로 테스트한 후, 실제 환경으로 이동할 때는 프로덕션 라이선스로 업그레이드하세요. 즐거운 코딩 되세요!

FAQs

  • Java에서 REST API를 사용하여 Word 문서를 편집하려면 어떻게 해야 하나요?
    Java용 GroupDocs.Editor Cloud SDK for Java의 editDocument 엔드포인트를 사용하십시오. 교체 작업을 정의하는 JSON 페이로드를 전송하면 서비스가 편집된 DOCX를 반환합니다.

  • Editor API 호출을 인증하는 가장 좋은 방법은 무엇인가요?
    클라이언트 ID와 클라이언트 시크릿을 사용하여 Configuration 객체를 생성한 다음, SDK가 OAuth 토큰을 자동으로 얻도록 합니다. 자세한 내용은 공식 문서를 참조하세요.

  • 한 번의 요청으로 여러 자리 표시자를 교체할 수 있나요?
    예. EditOptions 내부의 replaceText 목록에 여러 ReplaceText 항목을 추가하십시오. SDK는 단일 편집 호출에서 모든 교체를 처리합니다.

  • 편집할 수 있는 Word 파일 크기에 제한이 있나요?
    클라우드 서비스는 수백 메가바이트까지의 파일을 처리하지만, 최적의 성능을 위해 파일을 100 MB 이하로 유지하고 스트리밍 다운로드를 사용하여 메모리 급증을 방지하십시오.

더 읽기