C# .NET에서 PDF 나누는 방법: 실용 가이드

2025-07-01 01:38:59 zaki zou

소프트웨어 개발 및 문서 관리 분야에서 C#에서 PDF를 분할하는 방법은 .NET 개발자에게 필수적인 기술입니다. 큰 보고서를 작은 부분으로 나누거나, 배포를 위해 특정 페이지를 추출하거나, 콘텐츠를 더 효율적으로 구성해야 할 때 프로그래밍 방식으로 PDF 파일을 분할하면 상당한 시간과 노력을 절약할 수 있습니다.

C#에서 PDF 파일 분할을 위한 시각적 가이드

이 가이드에서는 강력하고 종속성이 없는 PDF 처리 솔루션인 Spire.PDF for .NET 라이브러리를 사용하여 C#에서 PDF 파일을 분할하는 방법을 살펴봅니다.

Spire.PDF for .NET 소개

Spire.PDF는 다음과 같은 기능을 제공하는 풍부한 기능의 .NET 라이브러리입니다.

  • 포괄적인 PDF 조작 기능
  • Adobe Acrobat에 대한 종속성 없음
  • .NET Framework, .NET Core, .NET 5+, MonoAndroid 및 Xamarin.iOS 지원

C# 애플리케이션에서 PDF를 여러 파일로 분할하기 전에 NuGet 패키지 관리자를 통해 라이브러리를 설치해야 합니다.

  1. Visual Studio에서 C# 프로젝트를 엽니다.
  2. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "NuGet 패키지 관리"를 선택합니다.
  3. NuGet 패키지 관리자 창에서 "Spire.PDF"를 검색합니다.
  4. 적절한 버전의 라이브러리를 선택하고 "설치"를 클릭합니다. NuGet이 필요한 참조를 다운로드하여 프로젝트에 추가합니다.

대체 방법: Spire.PDF 공식 웹사이트에서 DLL을 수동으로 다운로드하여 프로젝트에서 참조합니다.

C#에서 PDF 문서 분할 - 코드 예제

이제 라이브러리가 프로젝트에 설정되었으므로 .NET에서 PDF를 분할하는 방법을 살펴보겠습니다. PDF를 개별 페이지로 분할하거나 특정 페이지 수에 따라 여러 PDF로 분할하는 등 다양한 시나리오가 있습니다. 두 가지 일반적인 경우를 모두 다룰 것입니다.

PDF를 개별 페이지로 분할

다음은 PDF 문서를 각기 원본 문서의 한 페이지만 포함하는 개별 PDF 파일로 분할하는 C# 코드 예제입니다.

using Spire.Pdf;

namespace SplitPDFIntoMultipleFiles
{
    class Program
    {
        static void Main(string[] args)
        {
            // 입력 파일 경로 지정
            string inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";

            // 출력 디렉토리 지정
            string outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";

            // PdfDocument 객체 생성
            PdfDocument pdf = new PdfDocument();

            // PDF 파일 로드
            pdf.LoadFromFile(inputFile);

            // PDF를 여러 개의 한 페이지 PDF로 분할
            pdf.Split(outputDirectory + "output-{0}.pdf", 1);
        }
    }
}

Split() 메서드를 호출하여 입력 PDF 문서(10페이지 포함)를 10개의 개별 파일로 분할할 수 있습니다.

PDF 페이지를 여러 PDF 파일로 분할합니다.

페이지 범위별로 PDF를 여러 파일로 분할

큰 PDF를 각각 지정된 수의 페이지를 포함하는 여러 개의 작은 PDF로 분할하려는 경우 두 개 이상의 새 PDF 문서를 만든 다음 원본 PDF에서 페이지 또는 페이지 범위를 가져올 수 있습니다.

C#에서 페이지별로 PDF 파일을 분할하는 일반적인 단계는 다음과 같습니다.

  • 원본 PDF를 로드합니다.
  • 분할된 페이지를 담을 두 개의 빈 PDF를 만듭니다.
  • PDF 페이지 분할:
    • InsertPage() 메서드를 사용하여 원본 PDF에서 지정된 페이지를 첫 번째 새 PDF로 가져옵니다.
    • InsertPageRange() 메서드를 사용하여 원본 PDF에서 페이지 범위를 두 번째 새 PDF로 가져옵니다.
  • 두 개의 새 PDF를 모두 출력 디렉토리에 저장합니다.

C# 샘플 코드:

using Spire.Pdf;

namespace SplitPdfByPageRanges
{
    class Program
    {
        static void Main(string[] args)
        {
            // 입력 파일 경로 지정
            string inputFile = "C:\\Users\\Administrator\\Desktop\\Terms of Service.pdf";

            // 출력 디렉토리 지정
            string outputDirectory = "C:\\Users\\Administrator\\Desktop\\Output\\";

            // PdfDocument 객체를 초기화하면서 원본 PDF 파일 로드
            PdfDocument sourcePdf = new PdfDocument(inputFile);

            // 두 개의 새 PDF 문서 생성
            PdfDocument pdf1 = new PdfDocument();
            PdfDocument pdf2 = new PdfDocument();

            // 원본 PDF의 첫 페이지를 첫 번째 문서에 삽입
            pdf1.InsertPage(sourcePdf, 0);

            // 원본 PDF의 나머지 페이지를 두 번째 문서에 삽입
            pdf2.InsertPageRange(sourcePdf, 1, sourcePdf.Pages.Count - 1);

            // 두 PDF 문서 저장
            pdf1.SaveToFile(outputDirectory + "output-1.pdf");
            pdf2.SaveToFile(outputDirectory + "output-2.pdf");
        }
    }
}

이 코드를 실행하여 입력 PDF의 1페이지와 2-10페이지를 2개의 별도 PDF 파일로 추출할 수 있습니다.

사용자 지정 페이지 범위로 PDF 파일 분할.


PDF 분할을 위한 고급 팁

  • 동적 페이지 범위: 여러 범위(예: 1-3페이지, 5-7페이지)로 분할하려면 추가 PdfDocument 객체를 만들고 InsertPageRange() 메서드의 페이지 삽입 인덱스를 조정하십시오.

  • 파일 이름 지정 규칙: Split() 메서드의 destFilePattern 매개변수를 통해 출력 파일의 이름을 지정할 때 설명적인 패턴을 사용하여 파일을 더 잘 정리하십시오(예: report_part-{0}.pdf).

  • 오류 처리: 파일 작업 중 예외를 처리하기 위해 try-catch 블록을 추가하십시오.

try
{
    /* PDF 분할 코드 */
}
catch (Exception ex)
{
    Console.WriteLine("오류: " + ex.Message);
}

자주 묻는 질문 (VB.NET 데모)

Q1: 출력 파일에서 워터마크를 어떻게 제거하나요?

A: 여기에서 평가판 라이선스를 요청하여(30일 유효) 워터마크와 제한 사항을 제거할 수 있습니다. 또는 무료 커뮤니티 에디션을 사용해 볼 수 있습니다.

Q2: 분할 시 하이퍼링크/양식 필드가 보존되나요?

A:

요소 보존 여부?
하이퍼링크 ✅ 예
양식 필드 ✅ 예
주석 ✅ 예
디지털 서명 ❌ 아니요 (전체 문서 컨텍스트 필요)

Q3: 단일 PDF 페이지를 여러 페이지/파일로 분할할 수 있나요?

A: 예. Spire.PDF는 또한 PDF 페이지를 가로 또는 세로로 두 개 이상의 페이지로 분할하는 것을 지원합니다. 튜토리얼: C#에서 PDF 페이지를 여러 페이지로 분할하기

Q4: PDF 파일 분할을 위한 VB.NET 데모가 있나요?

A: 네이티브 .NET 라이브러리인 Spire.PDF는 C#과 VB.NET에서 동일하게 작동합니다. 따라서 일부 코드 변환 도구(예: Telerik Code Converter)를 사용하여 C# 샘플을 VB.NET으로 즉시 변환할 수 있습니다.


결론

Spire.PDF는 직관적인 방법으로 C#에서 PDF 분할을 단순화합니다. 기본 페이지별 분할이 필요하든 페이지 범위에 기반한 고급 분할이 필요하든 라이브러리는 필요한 기능을 제공합니다. 이 가이드를 따르면 C# 또는 VB.NET 애플리케이션에서 PDF 분할을 효율적으로 구현하여 생산성과 문서 관리를 향상시킬 수 있습니다.

도움 받을 곳

프로 팁: Spire.PDF의 변환 기능과 분할을 결합하여 페이지를 이미지나 다른 파일 형식으로 추출하십시오.