C#으로 여러 개의 PDF 파일을 하나로 합치는 프로그램 개발하기(PDF Merge)


일상 업무에서 PDF 파일은 정말 많이 사용하는 파일 형식 중에 하나 입니다.

이렇게 많이 사용하는 파일 형식이다 보니 여러 개의 PDF파일을 하나로 합치거나, 반대로 하나의 PDF파일을 여러 개로 나누는 작업을 할 때가 있습니다.

인터넷 검색에서 ‘PDF 합치기’를 검색하면 수 많은 사이트에서 무료로 간편하게 PDF 합치기 기능을 제공 받을 수 있습니다.

이렇게 인터넷 사이트를 통해 쉽게 PDF 파일을 합치기(병합)를 할 수 있지만 때로는 프로그램을 통해 직접 PDF 파일을 합치는 작업을 구현해 줘야 할 때가 있습니다.

프로그램 실행 단계에서 임의로 만들어지는 PDF파일을 최종적으로 하나의 PDF파일로 만들거나 사용자의 임의 선택에 따라 여러 개의 PDF 파일을 하나의 PDF 파일로 합쳐야 하는 경우 등이 발생할 수 있습니다. 이럴 경우 프로그램으로 PDF파일 합치기를 구현해 주는 것이 편리합니다.

이번 글에서는 C#으로 여러 개의 PDF 파일을 하나로 합치는 프로그램 개발하기(PDF Merge)를 통해 PDF 파일을 병합하는 방법에 대해 알아보겠습니다.

참고로 아래에서 구현한 C# 프로그램은 iTextSharp 이라는 라이브러리를 참조해서 구현한 로직 입니다.

C#으로 여러 개의 PDF 파일을 하나로 합치는 프로그램 개발하기(PDF Merge)

PDF 파일 합치기 C# 소스 프로그램(PDF Merge, PDF 병합)

중요) iTextSharp 라이브러리 참조 사용 필수 (AGPL라이센스, 인터넷에서 쉽게 구할 수 있다)

using iTextSharp.text;
using iTextSharp.text.pdf;

//합쳐진 파일(새 파일)
mFILE = “C:\\temp\\합쳐진파일.pdf”;
 
//합쳐질 파일 1
sFILE = “C:\\temp\\합쳐질파일1.pdf”;
 
//합쳐질 파일 2
sFILE2 = “C:\\temp\\합쳐질파일2.pdf”;
 
//두 PDF 합치기
Document document = new Document();
PdfCopy copy = new PdfCopy(document, new FileStream(mFILE, FileMode.Create));
document.Open();
 
//파일1의 모든 페이지를 새 파일에 추가한다.
PdfReader reader1 = new PdfReader(sFILE);
for (int i = 1; i <= reader1.NumberOfPages; i++)
{
    copy.AddPage(copy.GetImportedPage(reader1, i));
}
 
//파일2의 모든 페이지를 새 파일에 추가한다.
reader1 = new PdfReader(sFILE2);
for (int i = 1; i <= reader1.NumberOfPages; i++)
{
    copy.AddPage(copy.GetImportedPage(reader1, i));
}
document.Close();
document.Dispose();


병합하는 PDF 파일이 여러 개일 때는 파일 개수만큼 반복문으로 처리해서 페이지를 추가해 주면 됩니다.

결론적으로 비교적 간단한 프로그램 구현으로 여러 개의 PDF 파일을 하나로 합치는 병합 작업을 처리할 수 있음을 알 수 있습니다.
PDF 파일 작업과 관련해서 다양하게 활용 될 수도 있는 구현 방법입니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기