여러 개의 PDF 문서를 하나의 파일로 결합하는 것은 문서 워크플로를 구축하거나 보고서를 생성할 때 자주 요구되는 작업입니다. GroupDocs.Merger Cloud SDK for Node.js를 사용하면 저수준 PDF 구조를 직접 다루지 않고도 Node.JS에서 PDF를 쉽게 병합할 수 있습니다. 이 가이드는 설정, 단계별 구현, 전체 코드 예제, 동등한 cURL 호출 및 대용량 또는 암호화된 PDF에 대한 성능 팁을 안내합니다.

시작하기 전에: 전제 조건 및 설치

시작하기 전에 다음을 확인하십시오:

  • 개발 머신에 Node.js 14 이상 설치되어 있어야 합니다.
  • 클라이언트 ID와 클라이언트 비밀이 포함된 활성 GroupDocs Cloud 계정.
  • 결합하려는 PDF 파일에 대한 액세스 권한, GroupDocs Cloud 스토리지에 저장되어 있어야 합니다.

npm을 통해 SDK를 설치하고 최신 패키지를 다운로드하십시오:

npm install groupdocs-merger-cloud

공식 릴리스 페이지에서 SDK를 다운로드할 수도 있습니다: Download SDK. 설치가 완료되면 코딩을 시작할 준비가 됩니다.

Node.JS에서 PDF 병합 단계별 가이드

1단계: SDK 설치 및 필요한 클래스 가져오기

먼저, PDF 병합에 필요한 클래스를 가져옵니다.

const { MergeApi, MergeOptions, FileInfo, Configuration } = require("@groupdocs/merger-cloud");

이 가져오기를 통해 핵심 API, 구성 객체 및 파일 디스크립터에 액세스할 수 있습니다.

단계 2: GroupDocs 자격 증명 구성

클라이언트 자격 증명을 사용하여 구성 객체를 생성합니다.

const config = new Configuration({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET"
});

올바른 자격 증명을 제공하면 라이브러리가 요청을 인증할 수 있습니다.

3단계: 병합할 PDF 파일 정의

결합하려는 PDF 문서를 나열하십시오. 이 단계는 Node.JS에서 PDF를 효율적으로 병합할 수 있도록 준비합니다.

const filesToMerge = [
    new FileInfo({ filePath: "input1.pdf" }),
    new FileInfo({ filePath: "input2.pdf" })
];

각 FileInfo는 GroupDocs Cloud 저장소에 저장된 파일을 가리킵니다.

4단계: 병합 옵션 설정

출력 위치를 구성하고 파일 목록을 병합 요청에 첨부합니다.

const mergeOptions = new MergeOptions();
mergeOptions.fileInfos = filesToMerge;
mergeOptions.outputPath = "merged_output.pdf";

이 설정은 Node.JS에서 PDF를 병합하는 방법과 결과가 저장되는 위치를 제어합니다.

5단계: 병합 작업 실행

API 인스턴스를 생성하고, merge 메서드를 호출한 다음, 응답을 처리합니다.

const mergeApi = new MergeApi(config);

try {
    const result = await mergeApi.mergeDocuments(mergeOptions);
    console.log("Merge completed. Output file stored at:", result.path);
} catch (error) {
    console.error("Error during PDF merge:", error);
}

비동기 호출이 성공하면 병합된 문서의 경로를 반환합니다.

Node.JS에서 PDF 병합을 위한 전체 구현 예제

다음 코드는 구성에서 결과 처리까지 전체 워크플로를 보여줍니다.

const { MergeApi, MergeOptions, FileInfo, Configuration } = require("@groupdocs/merger-cloud");

// Configure the SDK (replace with your actual credentials)
const config = new Configuration({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET"
});

async function mergePdfFiles() {
    // Initialize the Merge API
    const mergeApi = new MergeApi(config);

// Define the PDF files to be merged (must exist in GroupDocs Cloud storage)
    const filesToMerge = [
        new FileInfo({ filePath: "input1.pdf" }),
        new FileInfo({ filePath: "input2.pdf" })
    ];

// Set merge options
    const mergeOptions = new MergeOptions();
    mergeOptions.fileInfos = filesToMerge;
    mergeOptions.outputPath = "merged_output.pdf";

try {
        // Perform the merge operation
        const result = await mergeApi.mergeDocuments(mergeOptions);
        console.log("Merge completed. Output file stored at:", result.path);
    } catch (error) {
        console.error("Error during PDF merge:", error);
    }
}

// Execute the merge
mergePdfFiles();

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

cURL을 사용한 REST API를 통한 PDF 병합

순수 REST 접근 방식을 선호한다면, 동일한 작업을 cURL 명령으로 수행할 수 있습니다.

먼저 액세스 토큰을 얻으세요:

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

스토리지에 원본 PDF를 업로드하십시오 (이전 단계에서 받은 토큰으로 YOUR_ACCESS_TOKEN을 교체하십시오):

curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input1.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@/local/path/input1.pdf"

input2.pdf에 대한 업로드를 반복하십시오. 그런 다음 병합 작업을 요청하십시오:

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

마지막으로, 병합된 파일을 다운로드하십시오:

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

전체 엔드포인트 및 매개변수 목록은 API 참조를 확인하십시오.

병합 옵션 구성

SDK는 병합 프로세스를 세밀하게 조정할 수 있는 여러 옵션을 제공합니다:

  • outputPath - 병합된 PDF의 대상 경로입니다. 결과가 저장되는 위치를 제어하려면 이를 조정하십시오.
  • fileInfos - 소스 PDF와 순서를 정의하는 FileInfo 객체 배열입니다.

특정 페이지 범위를 병합하기 위해 pages와 같은 추가 속성이나 암호화된 PDF에 대한 password를 설정할 수도 있습니다. 전체 구성 가능한 필드 목록은 공식 문서를 참조하세요.

PDF 병합에 대한 성능 고려 사항

대용량 또는 다수의 PDF 파일을 병합할 때는 다음 팁을 기억하세요:

  • Use async/await 를 사용하여 이벤트 루프가 차단되는 것을 방지하고, 특히 큰 문서의 경우에 유용합니다.
  • Batch uploads: 병합을 호출하기 전에 원본 PDF를 병렬로 업로드하여 전체 지연 시간을 줄입니다.
  • Streamed processing: 매우 큰 PDF의 경우, 중간 결과를 클라우드 스토리지에 저장하고 작은 청크로 병합하는 것을 고려하십시오.
  • Encrypted PDFs: FileInfo 객체에 비밀번호를 제공하십시오; 암호화된 파일을 처리하면 오버헤드가 발생하므로 가능하면 복호화 후에 병합하십시오.

이러한 관행을 적용하면 Node.JS에서 PDF를 효율적으로 병합하면서 메모리 사용량을 최소화할 수 있습니다.

자주 묻는 질문

  • Node.JS에서 GroupDocs를 사용하여 PDF 파일을 병합하려면 어떻게 해야 하나요?
    이 가이드에서는 GroupDocs.Merger Cloud SDK for Node.js를 사용하여 MergeApi 인스턴스를 만들고, 소스 PDF와 함께 MergeOptions를 구성한 뒤 mergeDocuments를 호출하는 전체 코드 예제를 보여줍니다.

  • Node.JS에서 암호화된 PDF 파일을 병합할 수 있나요?
    예, SDK는 암호화된 PDF 병합을 지원합니다. mergeDocuments를 호출하기 전에 FileInfo 객체에 올바른 비밀번호를 제공하십시오. 자세한 내용은 공식 문서를 참조하세요.

  • GroupDocs.Merger에 대한 라이선스 옵션은 무엇인가요?
    GroupDocs는 유연한 가격 플랜을 제공합니다. 테스트를 위해 전체 구독을 구매하기 전에 라이브러리를 평가하려면 임시 라이선스를 요청할 수 있습니다.

  • 더 많은 예제와 지원을 어디서 찾을 수 있나요?
    추가 샘플은 GitHub 저장소에서 확인할 수 있습니다. 도움을 원하시면 지원 포럼을 방문하세요.

추가 읽기