많은 개발자들이 Node.JS에서 여러 Word 문서를 결합하여 통합 보고서나 패키지를 생성해야 합니다. GroupDocs.Merger Cloud SDK for Node.js는 복잡한 파일 처리 코드를 작성하지 않고도 서버 측에서 Word 병합을 처리하는 강력한 API를 제공합니다. 이 가이드에서는 전체 구현 예시, 동등한 cURL 호출, 설치 단계 및 문서를 빠르게 병합하기 위한 모범 사례 팁을 확인할 수 있습니다.

Node.JS에서 여러 Word 문서 결합 - 전체 코드 예제

이 예제는 GroupDocs.Merger Cloud SDK for Node.js를 사용하여 세 개의 DOCX 파일을 하나의 문서로 병합하는 방법을 보여줍니다.

const GroupDocsMergerCloud = require("@groupdocs/merger-cloud");

// ==== Configuration ====
// Replace with your actual credentials
const clientId = "YOUR_CLIENT_ID";
const clientSecret = "YOUR_CLIENT_SECRET";

const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
const mergeApi = new GroupDocsMergerCloud.MergeApi(config);

// ==== Input / Output paths ====
const inputFiles = [
    "documents/input1.docx",
    "documents/input2.docx",
    "documents/input3.docx"
];
const outputFile = "documents/combined_output.docx";

// ==== Build request ====
const documentEntries = inputFiles.map(path => {
    return new GroupDocsMergerCloud.Models.DocumentEntry({
        fileInfo: new GroupDocsMergerCloud.Models.FileInfo({
            filePath: path
        })
    });
});

const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
    documents: documentEntries,
    outputPath: outputFile
});

// ==== Execute merge ====
(async () => {
    try {
        const result = await mergeApi.mergeDocuments(mergeRequest);
        console.log(`Merge completed successfully. Output file: ${result.path}`);
    } catch (error) {
        console.error("Error during merging:", error);
    }
})();

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

cURL을 사용한 REST API로 워드 문서 병합

순수 REST 방식을 선호한다면, 동일한 병합 작업을 cURL 명령으로 수행할 수 있습니다. 아래는 인증하고, 소스 파일을 업로드하고, 병합을 실행한 뒤 결과를 다운로드하는 간결한 워크플로우입니다.

1. 인증 및 액세스 토큰 가져오기

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/authenticate" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

응답에는 이후 호출에 사용되는 access_token이 포함됩니다.

2. 소스 파일 업로드

병합하려는 각 DOCX 파일에 대해 이 단계를 반복하십시오.

curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=documents/input1.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@path/to/input1.docx"

3. 병합 작업 실행

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
    "documents": [
        {"fileInfo": {"filePath": "documents/input1.docx"}},
        {"fileInfo": {"filePath": "documents/input2.docx"}},
        {"fileInfo": {"filePath": "documents/input3.docx"}}
    ],
    "outputPath": "documents/combined_output.docx"
}'

API는 병합된 파일의 경로를 반환합니다.

4. 병합된 문서 다운로드

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=documents/combined_output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o combined_output.docx

요청 페이로드 및 옵션에 대한 자세한 내용은 공식 API 문서를 참조하십시오.

Node.JS에서 여러 Word 문서를 병합하는 작동 방식

SDK는 병합 프로세스를 몇 가지 논리적 단계로 추상화합니다:

  1. 구성 생성 - new GroupDocsMergerCloud.Configuration(clientId, clientSecret) 은 인증 컨텍스트를 생성합니다. 클래스 참조는 API Reference에서 확인하세요.

    const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
    
  2. API 인스턴스 - new GroupDocsMergerCloud.MergeApi(config)은(는) 병합 작업에 대한 액세스를 제공합니다.

    const mergeApi = new GroupDocsMergerCloud.MergeApi(config);
    
  3. 문서 항목 - 각 소스 파일은 DocumentEntry에 래핑되며, 여기에는 파일 경로를 포함하는 FileInfo가 들어 있습니다.

    const documentEntries = inputFiles.map(path => {
        return new GroupDocsMergerCloud.Models.DocumentEntry({
            fileInfo: new GroupDocsMergerCloud.Models.FileInfo({ filePath: path })
        });
    });
    
  4. Merge Request - MergeDocumentsRequest는 항목들을 번들링하고 원하는 출력 경로를 지정합니다.

    const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
        documents: documentEntries,
        outputPath: outputFile
    });
    
  5. 실행 - mergeApi.mergeDocuments(mergeRequest)는 클라우드 서비스에 요청을 보냅니다. 프로미스는 출력 파일 경로를 포함하는 결과 객체와 함께 해결됩니다.

    const result = await mergeApi.mergeDocuments(mergeRequest);
    console.log(`Merge completed successfully. Output file: ${result.path}`);
    

이 단계들을 함께 수행하면 낮은 수준의 파일 스트림을 직접 처리하지 않고도 여러 Word 문서를 효율적으로 결합할 수 있습니다.

GroupDocs.Merger를 위한 환경 준비

  1. SDK 설치
npm install groupdocs-merger-cloud

패키지는 공식 다운로드 페이지에서 사용할 수 있습니다.

  1. Node.js 버전 - Node.js 12 이상을 실행하고 있는지 확인하십시오.

  2. 자격 증명 구성 - 코드에서 YOUR_CLIENT_IDYOUR_CLIENT_SECRET를 귀하의 GroupDocs Cloud 계정에서 가져온 값으로 교체하십시오.

  3. 프로젝트 폴더 만들기 - 예시와 같이 documents/ 하위 폴더에 원본 DOCX 파일을 배치합니다.

이러한 단계가 완료되면 병합 스크립트를 실행하거나 REST 엔드포인트를 호출할 준비가 됩니다.

결론

Node.JS에서 여러 Word 문서를 결합하는 것이 GroupDocs.Merger Cloud SDK for Node.js를 사용하면 간단해집니다. SDK는 파일 업로드, 병합 로직 및 출력 생성을 처리하여 저수준 파일 조작이 아닌 비즈니스 로직에 집중할 수 있게 해줍니다. 프로덕션 사용을 위해 적절한 라이선스를 확보하는 것을 기억하세요; 임시 라이선스로 시작하고 필요에 따라 전체 구독으로 업그레이드할 수 있습니다. 오늘 바로 병합을 시작하고 문서 워크플로를 간소화하세요.

자주 묻는 질문

  • Node.JS SDK를 사용하여 여러 Word 문서를 결합하려면 어떻게 해야 하나요?
    MergeApi 클래스를 사용하여 각 DOCX 파일을 DocumentEntry로 나열하는 MergeDocumentsRequest를 생성합니다. SDK는 제공된 순서대로 문서를 병합하고 결과를 지정된 출력 경로에 저장합니다.

  • 같은 SDK로 PDF를 함께 병합할 수 있나요?
    예, Merger SDK는 PDF, DOCX, ODT, 및 여러 다른 형식을 지원합니다. inputFiles 배열에서 파일 확장자를 변경하기만 하면 SDK가 자동으로 변환을 처리합니다. 형식 세부 정보는 공식 문서를 참조하십시오.

  • 단일 요청에서 병합할 수 있는 문서 수에 대한 제한은 무엇인가요?
    클라우드 서비스는 엄격한 개수 제한보다 용량 제한을 적용합니다. 결합된 파일 크기가 계정 할당량 내에 있으면 수십 개의 파일을 병합할 수 있습니다. 매우 큰 배치의 경우 먼저 파일을 GroupDocs 스토리지에 업로드하고 ID로 참조하는 것을 고려하십시오.

  • 개발과 프로덕션에 대한 라이선스를 신경 써야 하나요?
    개발 및 테스트에서는 임시 라이선스 페이지에서 얻은 임시 라이선스를 사용할 수 있습니다. 프로덕션 배포의 경우, 무제한 병합 및 우선 지원을 위해 전체 라이선스를 구매하십시오.

더 읽기