일상 업무에서 PDF 파일은 정말 많이 사용하는 파일 형식 중에 하나 입니다.
이렇게 많이 사용하는 파일 형식이다 보니 여러 개의 PDF파일을 하나로 합치거나, 반대로 하나의 PDF파일을 여러 개로 나누는 작업을 할 때가 있습니다.
인터넷 검색에서 ‘PDF 합치기’를 검색하면 수 많은 사이트에서 무료로 간편하게 PDF 합치기 기능을 제공 받을 수 있습니다.
이렇게 인터넷 사이트를 통해 쉽게 PDF 파일을 합치기(병합)를 할 수 있지만 때로는 프로그램을 통해 직접 PDF 파일을 합치는 작업을 구현해 줘야 할 때가 있습니다.
프로그램 실행 단계에서 임의로 만들어지는 PDF파일을 최종적으로 하나의 PDF파일로 만들거나 사용자의 임의 선택에 따라 여러 개의 PDF 파일을 하나의 PDF 파일로 합쳐야 하는 경우 등이 발생할 수 있습니다. 이럴 경우 프로그램으로 PDF파일 합치기를 구현해 주는 것이 편리합니다.
이번 글에서는 C#으로 여러 개의 PDF 파일을 하나로 합치는 프로그램 개발하기(PDF Merge)를 통해 PDF 파일을 병합하는 방법에 대해 알아보겠습니다.
참고로 아래에서 구현한 C# 프로그램은 iTextSharp 이라는 라이브러리를 참조해서 구현한 로직 입니다.
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 파일 작업과 관련해서 다양하게 활용 될 수도 있는 구현 방법입니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^