GroupDocs.Merger for Java를 사용하여 Excel에 PDF 삽입하기: 단계별 가이드

PDF를 Excel에 삽입하면 정적인 스프레드시트를 전체 원본 문서를 필요한 위치에 포함한 풍부하고 인터랙티브한 보고서로 변환할 수 있습니다. 이 튜토리얼에서는 Excel에 PDF를 삽입하는 방법을 GroupDocs.Merger for Java를 사용해 PDF를 OLE(Object Linking and Embedding) 객체로 가져오는 방식으로 배웁니다. 모든 전제 조건을 살펴보고 정확한 코드를 보여드리며 실용적인 팁을 제공하므로 오늘 바로 프로젝트에 이 기술을 적용할 수 있습니다.

빠른 답변

  • “Excel에 PDF를 삽입한다”는 무슨 의미인가요? PDF 파일을 OLE 객체로 삽입하여 스프레드시트에서 직접 PDF를 열 수 있게 하는 것을 의미합니다.
  • 어떤 라이브러리가 가져오기를 담당하나요? GroupDocs.Merger for Java가 이 목적을 위한 importDocument 메서드를 제공합니다.
  • 라이선스가 필요합니까? 평가용으로는 무료 체험판을 사용할 수 있으며, 실제 운영 환경에서는 상용 라이선스가 필요합니다.
  • 다른 파일 형식도 삽입할 수 있나요? 예, Word, 이미지 및 기타 지원 형식도 OLE 객체로 가져올 수 있습니다.
  • 이 방법은 Java 8+와 호환되나요? 물론입니다 – 라이브러리는 Java 8 및 그 이후 버전을 지원합니다.

Excel에 PDF를 삽입한다는 의미

Excel에 PDF를 삽입하면 PDF가 워크북 내부에 OLE 객체로 저장됩니다. 사용자는 객체를 더블 클릭해 스프레드시트를 떠나지 않고 원본 PDF를 열 수 있어 감사 추적, 상세 보고서 또는 참고 문서에 이상적입니다.

GroupDocs.Merger로 문서를 Excel에 가져와야 하는 이유

  • 원활한 통합: 파일을 수동으로 복사‑붙여넣기 할 필요 없이 API가 위치와 크기를 자동으로 처리합니다.
  • 자동화 준비: 월간 보고서 배치를 일괄 처리하거나 대시보드를 프로그래밍 방식으로 생성할 때 완벽합니다.
  • 다중 형식 지원: PDF, Word 문서, 이미지 등을 모두 단일 라이브러리로 처리합니다.

전제 조건

  • Java Development Kit (JDK) 8 이상 – IDE에 설치 및 설정되어 있어야 합니다.
  • GroupDocs.Merger for Java – Maven 또는 Gradle을 통해 프로젝트에 추가합니다(아래 참고).
  • IDE – IntelliJ IDEA 또는 Eclipse 등 코드 편집 및 실행이 가능한 환경.
  • 기본 Java 파일 처리 지식 – 파일 경로와 스트림을 다루게 됩니다.

GroupDocs.Merger for Java 설정

Maven

pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger</artifactId>
    <version>latest-version</version>
</dependency>

Gradle

build.gradle 파일에 라이브러리를 포함합니다:

implementation 'com.groupdocs:groupdocs-merger:latest-version'

또한 최신 버전은 GroupDocs.Merger for Java releases에서 직접 다운로드할 수 있습니다.

라이선스 획득 단계

  1. 무료 체험: 모든 기능을 체험해 볼 수 있는 무료 체험판을 시작합니다.
  2. 임시 라이선스: 장기 테스트를 위해 임시 라이선스를 요청합니다.
  3. 구매: 상용 배포를 위해 정식 라이선스를 구매합니다.

구현 가이드

단계 1: 파일 경로 정의 및 객체 초기화

먼저 Excel 워크북, 삽입할 PDF, 출력 파일의 경로를 설정합니다. 그런 다음 OLE 객체가 표시될 위치를 설명하는 OleSpreadsheetOptions를 생성합니다.

import com.groupdocs.merger.Merger;
import com.groupdocs.merger.domain.options.OleSpreadsheetOptions;

public class ImportOLEToSpreadsheet {
    public static void main(String[] args) throws Exception {
        // Define the paths for input and output files.
        String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";  // Excel file path
        String embeddedFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";  // PDF file to embed

        // Specify the output file path.
        String filePathOut = "YOUR_OUTPUT_DIRECTORY/ImportDocumentToSpreadsheet-output.xlsx";

        // Specify the page number of the OLE object and its position in the spreadsheet.
        int pageNumber = 2;  
        OleSpreadsheetOptions oleCellsOptions = new OleSpreadsheetOptions(embeddedFilePath, pageNumber);
        
        // Set the desired row and column indices for the OLE object placement.
        oleCellsOptions.setRowIndex(2); 
        oleCellsOptions.setColumnIndex(2);

        // Create a Merger instance for the target Excel file.
        Merger merger = new Merger(filePath);
    }
}

단계 2: OLE 문서 가져오기

importDocument 메서드를 사용해 정의한 위치에 PDF를 OLE 객체로 삽입합니다.

// Import the OLE document into the specified position in the spreadsheet.
merger.importDocument(oleCellsOptions);

// Save the updated spreadsheet to the output path.
merger.save(filePathOut);

importDocument를 사용하는 이유: 이 메서드는 GroupDocs.Merger에게 PDF를 OLE 객체로 처리하도록 지시하여 원본 내용을 보존하면서 Excel 내부에서 접근할 수 있게 합니다.

단계 3: 스프레드시트 저장

마지막으로 변경 사항을 새 파일에 저장해 원본 워크북을 그대로 유지합니다.

merger.save(filePathOut);

핵심 설정 옵션: OleSpreadsheetOptions를 추가로 조정해 객체 크기, 가시성, 링크 여부 등 세부 옵션을 지정할 수 있습니다.

문제 해결 팁

  • FileNotFoundException: 제공한 경로가 실제 파일을 가리키는지 다시 확인합니다.
  • 버전 불일치: 사용 중인 GroupDocs.Merger 버전이 JDK 버전과 호환되는지 확인합니다.
  • 손상된 PDF: 삽입 전에 PDF가 독립적으로 열리는지 검증합니다.

실용적인 적용 사례

Excel에 OLE 객체를 삽입하면 다음과 같은 상황에서 유용합니다:

  1. 데이터 통합: 분기별 PDF를 하나의 대시보드 워크북에 병합합니다.
  2. 인터랙티브 프레젠테이션: 회의 중 필요에 따라 상세 사양서를 클릭해 열 수 있게 합니다.
  3. 자동 보고서: 월간 재무제표에 자동으로 지원 문서를 포함시켜 생성합니다.

성능 고려 사항

  • 메모리 관리: 더 이상 필요 없는 Merger 인스턴스를 닫아 리소스를 해제합니다.
  • 배치 처리: 수십 개의 스프레드시트를 다룰 때는 메모리 급증을 방지하기 위해 작은 배치로 처리합니다.
  • Java 모범 사례: 스트림에 try‑with‑resources를 사용하고 예외를 적절히 처리합니다.

결론

이제 Excel에 PDF를 삽입하고 문서를 Excel에 가져오기 위한 완전한 프로덕션 수준 솔루션을 GroupDocs.Merger for Java와 함께 사용할 수 있습니다. 다양한 파일 형식을 실험하고 배치 옵션을 조정하며 이 워크플로를 자동 보고 파이프라인에 통합해 보세요.

다음 단계

  • Word 문서나 이미지를 삽입해 API가 다른 형식을 어떻게 처리하는지 확인합니다.
  • 문서 분할, 병합, 변환 등 추가적인 GroupDocs.Merger 기능을 탐색합니다.

FAQ 섹션

Q1: 하나의 Excel 파일에 여러 OLE 객체를 삽입할 수 있나요?
A1: 예, 각 객체마다 가져오기 과정을 반복하면 여러 OLE 객체를 삽입할 수 있습니다.

Q2: OLE 객체로 지원되는 파일 형식은 무엇인가요?
A2: GroupDocs.Merger는 PDF, Word 문서, Excel 파일, 이미지 및 기타 일반적인 형식을 지원합니다.

Q3: GroupDocs.Merger로 대용량 파일을 효율적으로 처리하려면 어떻게 해야 하나요?
A3: 파일을 작은 배치로 나누어 처리하고 Merger 인스턴스를 즉시 해제해 메모리 사용량을 최적화합니다.

Q4: 삽입된 파일에 접근할 수 없거나 손상된 경우 어떻게 해야 하나요?
A4: 삽입 전에 원본 파일 경로와 무결성을 확인합니다. 손상된 파일은 가져오기 중 예외를 발생시킵니다.

Q5: Excel에서 OLE 객체의 외관을 맞춤 설정할 수 있나요?
A5: 예, OleSpreadsheetOptions를 사용해 행/열 인덱스, 크기, 가시성 등을 지정해 워크시트에서 객체가 어떻게 보일지 조정할 수 있습니다.

리소스


마지막 업데이트: 2025-12-19
테스트 환경: GroupDocs.Merger for Java 최신 버전
작성자: GroupDocs